Spring 进阶-第十八篇:Spring Cloud-消息驱动微服务
1. Spring Cloud Stream 基础
1.1 消息驱动架构理念
核心思想:通过消息队列(如 Kafka、RabbitMQ)实现微服务间的异步通信,将服务间的直接调用解耦为消息的生产与消费。
- 优势:
- 解耦性:服务仅与消息队列交互,无需感知其他服务的存在或状态。
- 异步性:削峰填谷,提升系统吞吐量(如高并发场景下缓冲请求)。
- 可靠性:消息队列支持持久化和重试机制,减少请求丢失。
- 扩展性:可独立扩展消息生产者或消费者,无需修改整体架构。
- 典型场景:
- 异步通知(如订单状态变更通知库存服务)。
- 日志收集与分析(各服务将日志发送至消息队列,统一处理)。
- 事件驱动架构(如用户注册后触发积分发放、邮件通知等链式操作)。