1.场景描述
当我们的分布式系统建设到一定程度了,或者服务间是通过异步请求来通讯的,那么我们避免不了使用MQ来解决问题。
假如公司内部进行了业务合并或者整合,需要服务A和服务B通过MQ的方式进行消息传递,而服务A用的是RabbitMQ,服务B用的是Kafka,那么我要在服务里同时使用两个消息组件吗?
有没有一种技术让我们不再关注具体MQ的细节,只需要用一种适配绑定的方式呢?
当然有,cloud Stream就解决了这个问题。
2.什么是SpingCloud Stream?
官网地址:https://spring.io/projects/spring-cloud-stream
官方定义SpringCloud Stream是一个构建消息驱动微服务的框架。
应用程序通过inputs或者outputs来与SpringCloud Stream中的binder对象交互。
通过我们配置来binding(绑定),而SpringCloud Stream的binder对象负责与消息中间件交互。
所以,我们只需要搞清楚如何与SpringCloud Stream交互就可以方便使用消息驱动的方式。
而通过Spring Interation来连接消息代理中间件以实现消息事件驱动。
SpringCloud Stream为一些供应商的消息中间件产品提供了个性化的自动化配置实现,引用了发布-订阅、消费组、分区的三个核心概念。
但是目前仅支持RabbitMQ、Kafka

1158

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



