跳到主要内容

Spring Cloud 之 Stream构建消息驱动微服务框架;RabbitMQ

消息驱动微服务框架Stream集成RabbitMQ

在微服务的开发过程中,经常用到消息中间件,通过消息中间件在服务与服务之间传递消息,不管使用哪款消息中间件,如RabbitMQ还是Kafka,那么消息中间件和服务之间都有耦合性,如原来使用的RabbitMQ,现在要替换为Kafka,那么我们的微服务都需要修改,变动会比较大。或者 服务A用的是RabbitMQ,服务B用的是Kafka,我们能否不关注MQ底层实现,进行适配绑定

Spring Cloud Stream就是负责整合我们的消息中间件,降低微服务和消息中间件的耦合性,做到轻松在不同消息中间件间切换

注:

> 目前Spring Cloud Stream仅支持RabbitMQ、Kafka

Spring Cloud Stream

 

Spring Cloud Stream

Spring Cloud Stream 是一个构建消息驱动微服务的框架

 

应用程序通过input(相当于消费者consumer)、output(相当于生产者producer)来与Spring Cloud Stream中Binder交互,而Binder负责与消息中间件交互,因此,我们只需关注如何与Binder交互即可,而无需关注与具体消息中间件的交互。

组成说明
BinderBinder是应用与消息中间件之间的封装,目前实现了Kafka和RabbitMQ的Binder,通过Binder可以很方便的连接中间件,可以动态的改变消息类型(对应于Kafka的topic,RabbitMQ的exchange),这些都可以通过配置文件来实现;