其他分享
首页 > 其他分享> > SpringCloud - Stream 组件

SpringCloud - Stream 组件

作者:互联网

介绍

SpringCloud Stream 是用于构建消息驱动的微服务框架。应用程序通过 inputs 或者 outputs 来与 SpringCloud Stream 中的 binder 对象交互。SpringCloud Stream 的 binder 对象负责与消息中间件交互,但是目前仅支持 RabbitMQ、Kafka。

工作原理

通过定义绑定器作为中间层,实现了应用程序与消息中间件细节之间的隔离。通过向应用程序暴露统一的 Channel 通道,使得应用程序不需要再考虑各种不同的消息中间件的实现。当需要升级消息中间件,或者是更换其它消息中间件时,我们需要做的就是更换对应的 Binder 绑定器而不需要修改任何应用逻辑。

Source

发送消息时,我们就需要通过 Source.java,它会把我们所要发送的消息进行序列化,然后将这些数据发送到 Channel 中。

Sink

监听消息时就需要通过 Sink.java,它会负责从 Channel 中获取消息,并将消息反序列化成消息对象。

Channel

通常我们向消息中间件发送消息或者监听消息时需要指定 Topic 和消息队列名称,一旦我们需要变更 Topic 的时候就需要修改消息发送或消息监听的代码。通过 Channel 对象,我们的业务代码只需要对应的 Channel 就可以了。具体这个 Channel 对应的是哪个 Topic,可以在配置文件中来指定,这样当主题变更的时候我们就不用对代码做任何修改,从而实现了与具体消息中间件的解耦。

Binder

通过不同的 Binder 可以实现不同的消息中间件整合,Binder提供统一的消息收发接口,从而使得我们可以根据实际需要部署不同的消息中间件,或者根据实际生产中所部署的消息中间件来调整我们的配置。

标签:Stream,SpringCloud,Binder,消息,消息中间件,组件,Channel
来源: https://www.cnblogs.com/feiqiangsheng/p/16351927.html