目录
什么是消息驱动
屏蔽底层消息中间件的差异,降低中间件切换成本,统一消息的编程模型
消息驱动的设计思想
标准的MQ在生产者-消费者之间通过特定的消息媒介传递信息。但一个足够大的项目可能会用到多个消息中间件,Stream通过binder屏蔽底层差异解决了跨消息队列中间件传递消息的问题。

消息驱动的工作流程
Binder:很方便的连接中间件,屏蔽差异
Channel:通道,它是队列Queue的一种抽象,在消息通讯系统中就是实现存储和转发的媒介,通过Channel对队列进行配置
Source和Sink:Source作用于生产者业务上,Sink作用于消费者业务上

常用注解
Stream流的分组消费与持久化
微服务应用可以放置在同一个group组中,这样能保证消息只会被其中的一个应用消费一次,不同的组是可以消费的,同一个组内会发生竞争关系,同一个组只能有一个被消费
假设有一个生产者名为A,两个消费者名为B和C,你可以在B和C的yml文件中,配置C为一个分组,但不配置B为分组。当配置完成后,启动生产者A和消费者B服务。此时B正常接收到了A的消息,如果你这时再启动消费者C,消费者C会搜寻A发给B的消息,进行再次消费。
SpringCloud Stream提供了一种屏蔽底层消息中间件差异的机制,使得在项目中使用消息驱动变得简单。本文将介绍消息驱动的设计思想,工作流程,常用注解以及Stream流的分组消费与持久化,帮助理解如何在不同中间件之间统一消息编程模型。
3331

被折叠的 条评论
为什么被折叠?



