SpringCloud入门(二十四) ------ cloud stream基本介绍

什么是springcloud stream?

springcloud stream是一个构建消息驱动微服务的框架。

应用程序通过inputs或者outputs 来与spring cloud stream 中binder对象交互。
通过我们配置来binding,而spring cloud stream 的binder对象负责与消息中间件交互。
所以,我们只需要搞清楚如何与spring cloud stream交互就可以方便使用消息驱动的方式。

通过使用spring intergration 来连接消息代理中间件已实现消息事件驱动。
spring cloud stream 为一些供应商的消息中间件产品提供了个性化的自动化配置,引用发布-订阅,消费组,分区的三个核心概念。

在这里插入图片描述
spring cloud stream目前仅支持Rabbitmq kafuka

为什么使用spring cloud stream?

流行的消息中间件过多,有可能一个工程中存在两种MQ,需要切换 维护 开发 学习成本非常高,cloud stream 可以通过适配绑定的方式,自动的给我们在mq中切换。

spring cloud stream的作用:

在没有绑定器这个概念的情况下,我们的springboot应用要直接与消息中间件进行信息的交互的时候,由于各个消息中间件构建的初衷不同,它们的实现细节差别较大,通过定义绑定器作为中间层,完美地实现了应用程序与消息中间件细节之间的隔离。通过向应用程序暴露统一的channel通道,使得应用程序不需要在考虑各种不同的消息中间件实现。
而spring cloud stream的作用是:
通过定义的绑定器binder 作为中间层,实现了应用程序与消息中间件细节之间的隔离。从而做到屏蔽底层消息中间件的差异,降低开发维护成本,统一消息编程的模型。

spring cloud stream 标准的流程图

在这里插入图片描述
Binder: 很方便的连接中间件,屏蔽差异
Channel: 传递消息的通道.
Source 和 Sink: 简单的可理解为参照对象是 Sping cloud stream 自身,从 Stream 发布消息就是输出,接受消息就是输入。

spring cloud stream 的常用注解与Api:
组成说明
Middleware中间件,目前只支持Rabbitmq和kafka
BinderBinder是应用与消息中间件之间的封装,目前实行了kafka和Rabbitmq的Binder,通过Binder可以很方便的连接中间件,可以动态的改变消息类型(对应kafka的topic与ribbitmq的exchange),这些都可以通过配置来实现
@Input注解标识输入通道,通过该输入通道接收到消息进入应用程序
@Output注解标识输出通道,发布的消息将通过该通道离开应用程序
@StreamLintener监听队列,用于消费者的队列的消息接收
@EnableBinding指channel与exchange绑定在一起
学习年限不足,知识过浅,说的不对请见谅。

世界上有10种人,一种是懂二进制的,一种是不懂二进制的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值