1. 程式人生 > 其它 >springcloud Stream訊息驅動

springcloud Stream訊息驅動

Spring Cloud Stream 是⼀個構建訊息驅動微服務的框架。應⽤程式通過inputs(相當於訊息消費者consumer)或者outputs(相當於訊息⽣產者producer)來與Spring Cloud Stream中的binder物件互動,⽽Binder物件是⽤來遮蔽底層MQ細節的,它負責與具體的訊息中介軟體互動。

Binder繫結器
Binder繫結器是Spring Cloud Stream 中⾮常核⼼的概念,就是通過它來遮蔽底層不同MQ訊息中介軟體的細節差異,當需要更換為其他訊息中介軟體時,我們需要做的就是更換對應的Binder繫結器⽽不需要修改任何應⽤邏輯(Binder繫結器的實現是框架內建的,Spring Cloud Stream⽬前⽀持Rabbit、Kafka兩種訊息佇列)

傳統MQ模型與Stream訊息驅動模型

Stream訊息通訊⽅式

Stream中的訊息通訊⽅式遵循了釋出—訂閱模式。
在Spring Cloud Stream中的訊息通訊⽅式遵循了釋出-訂閱模式,當⼀條訊息被投遞到訊息中介軟體之後,它會通過共享的 Topic 主題進⾏⼴播,訊息消費者在訂閱的主題中收到它並觸發⾃身的業務邏輯處理。這⾥所提到的 Topic 主題是Spring
Cloud Stream中的⼀個抽象概念,⽤來代表釋出共享訊息給消費者的地⽅。在不同的訊息中介軟體中, Topic 可能對應著不同的概念,⽐如:在RabbitMQ中的它對應了Exchange、在Kakfa中則對應了Kafka中的Topic。

Stream程式設計註解