目录

什么是消息驱动

消息驱动的设计思想

消息驱动的工作流程

常用注解

Stream流的分组消费与持久化 


什么是消息驱动

 

屏蔽底层消息中间件的差异,降低中间件切换成本,统一消息的编程模型 

 

 

消息驱动的设计思想

 

标准的MQ在生产者-消费者之间通过特定的消息媒介传递信息。但一个足够大的项目可能会用到多个消息中间件,Stream通过binder屏蔽底层差异解决了跨消息队列中间件传递消息的问题。

SpringCloud Stream消息驱动

 

消息驱动的工作流程

 

Binder:很方便的连接中间件,屏蔽差异

Channel:通道,它是队列Queue的一种抽象,在消息通讯系统中就是实现存储和转发的媒介,通过Channel对队列进行配置

Source和Sink:Source作用于生产者业务上,Sink作用于消费者业务上

SpringCloud Stream消息驱动

 

 

常用注解

 

SpringCloud Stream消息驱动 

 

Stream流的分组消费与持久化 

 

微服务应用可以放置在同一个group组中,这样能保证消息只会被其中的一个应用消费一次,不同的组是可以消费的,同一个组内会发生竞争关系,同一个组只能有一个被消费

假设有一个生产者名为A,两个消费者名为B和C,你可以在B和C的yml文件中,配置C为一个分组,但不配置B为分组。当配置完成后,启动生产者A和消费者B服务。此时B正常接收到了A的消息,如果你这时再启动消费者C,消费者C会搜寻A发给B的消息,进行再次消费。 

相关文章:

  • 2019-03-21
  • 2019-06-20
  • 2021-11-15
  • 2020-06-21
  • 2021-09-17
  • 2021-09-05
  • 2019-06-28
  • 2020-04-26
猜你喜欢
  • 2020-04-27
  • 2021-03-04
  • 2018-05-29
  • 2020-01-10
  • 2020-04-30
  • 2020-05-01
  • 2020-01-09
  • 2019-07-08
相关资源
相似解决方案