在spring boot 应用中我们通常会用rabbitMQ或是kafka来做消息中间件,应用中均需代码实现具体消息中间件的通信细节。
步骤如下:
在配置文件里面添加:spring.rabbitmq的配置
gradle里面添加对应的包,
使用rabbitTemplate绑定对应的Exchange、RoutingKey等作为生产者
用RabbitListener去监听。
时如果再更换一个新的消息中间件,这会我们又需新增这些通信代码,写起来会比较繁琐,而stream出现就是为了简化这一过程。
Spring Cloud Stream是一个构建消息驱动微服务应用的框架。它基于Spring Boot构建独立的、生产级的Spring应用,并使用Spring Integration为消息代理提供链接。
整合stream之后整个生产消费流程图:
一些关键的概念如:Inputs、Output 、Binder、Group、Partion等在这里就不说了。用的时候一定要弄清楚,纸上得来终觉浅。
在spring cloud全家桶里面用sleuth做全链路追踪,sleuth通过stream,采用约定优于配置这种方式,简单而不失灵活性,和每个应用和中间件解耦,把trace信息给zipkin-server。
领取专属 10元无门槛券
私享最新 技术干货