一 概述
Spring Cloud Stream是Spring Cloud微服务框架中构建消息驱动能力的组件。Stream可以进行基于消息队列的消息通信,它使用Spring Intergration连接消息中间件以实现消息时间驱动。基于Stream,开发者可以实现与消息队列相关的消息驱动型应用,Spring Cloud的消息总线Bus就是基于Stream实现的。
二 消息队列的概念
消息队列中间件是分布式系统中最为重要的组件之一,主要用于解决应用耦合,异步消息和流量削锋等问题,是大型分布式系统中不可缺少的中间件。
消息队列技术是分布式应用间交换信息的一种技术,消息可驻留在内存或磁盘上,以队列的形式存储信息,直到他们被应用程序消费。通过消息队列,应用程序可以相对独立地运行,他们不需要知道彼此的位置,只需要给消息队列发送消息并处理从消息队列发送来的消息。
消息队列的主要特点是异步处理和解耦:其主要使用场景是将比较耗时而且不需要同步返回结构的操作作为消息放入消息队列,从而实现异步处理;同时由于使用了消息队列,只要保证消息格式不变,消息的发送方和接受者并不需要彼此直接联系,也不会受到对方的影响,即解耦。
三 消息队列常用组件
如RabbitMQ,整个消息队列应该分为多个不同的组件:
- 消息生产者(Producer)
- 交换器(Exchange)
- 队列 (Queue)
- 消息消费者 (Consumer)
消息生产者就是生成消息并将消息发送给消息队列的应用,而消息消费者则是接受消息队列发送的消息并消费的应用。
待续 ......!