RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_订阅模式_


解读:

1、1个生产者,多个消费者

2、每一个消费者都有自己的一个队列

3、生产者没有将消息直接发送到队列,而是发送到了交换机

4、每个队列都要绑定到交换机

5、生产者发送的消息,经过交换机,到达队列,实现,一个消息被多个消费者获取的目的

RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_搜索_02

5.6.2.息的生产者(看作是后台系统)

向交换机中发送消息。

RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_搜索_03


注意:消息发送到没有队列绑定的交换机时,消息将丢失,因为,交换机没有存储消息的能力,消息只能存在在队列中。

5.6.3.消费者1(看作是前台系统)

RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_订阅模式__04


5.6.4.消费者2(看作是搜索系统)

RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_发送消息_05


5.6.5.测试

因为消费者都绑定到了交换机上了,所以先启动生产者,再启动2个消费者

RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_消息发送_06


RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_消息发送_07


RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_搜索_08


RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_发送消息_09


RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_发送消息_10


在管理工具中查看队列和交换机的绑定关系:

RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_发送消息_11


RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_消息发送_12


再次启动生产者发送消息

RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_订阅模式__13


RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_订阅模式__14


RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_订阅模式__15


RabbitMQ的5种队列_订阅模式_入门试炼_第7篇_搜索_16


测试结果:

同一个消息被多个消费者获取。