作者:禅与计算机程序设计艺术
1.简介
在微服务架构模式下,由于各个微服务之间耦合度低、部署独立性强、独立运行等特点,导致各个微服务的状态同步变得困难,需要借助消息总线实现状态的同步。Spring Cloud提供的消息总线中间件包括Spring Cloud Stream和Spring Cloud Bus。Spring Cloud Stream是用于构建事件驱动微服务应用的统一消息流(messaging middleware),可以轻松将应用程序中的数据流动变成可靠的消息,并通过消息代理(message broker)传输到另一个应用程序中去。而Spring Cloud Bus则是一个用于实现分布式系统间通信的消息总线工具,基于Spring Boot Admin作为网页管理界面,它能够监控集群中所有服务节点,展示服务健康状况。这篇文章主要介绍Spring Cloud Bus消息总线中间件的用法和实际案例。
2.基本概念术语说明
2.1 Spring Cloud Stream
Spring Cloud Stream是用于构建事件驱动微服务应用的统一消息流(messaging middleware)。它提供了一套简单易用的API来发送和接收各种不同消息类型的事件。Spring Cloud Stream的主要优势如下:
- 为微服务应用的开发者提供了声明式编程模型
- 支持多种消息中间件,如Kafka,RabbitMQ等
- 内置了很多实用的消息组件,如持久化,反序列化,编解码器等模块
- 提供高度可扩展的弹性伸缩能力