RabbitMQ学习第四章:publish_subscribe发布订阅模式

publish_subscribe发布订阅模式

模型:

 

 

解读:

1.一个生产者,多个消费者。

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

3.生产者没有直接把消息发送到队列,而是发到了交换机exchangeX)。                                                                                                                 

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

5.生产者发送的消息经过交换机,然后到达队列,就能实现一个消息被

多个消费者消费。

例:声明交换机(生产者)

public static final String EXCHANGE_NAME="test_exchange_fanout";

 

 

 

图中将消息发送到了交换机,控制台中也显示了发送的消息,并且RabbitMQ

控制台也新添加了一个我命名的交换机,但是消息发送到交换机之后去哪了?

已经丢失了!!!因为交换机没有存储的能力,在RabbitMQ里面只有队列有

存储的能力,这时候队列还没有绑定交换机,所以消息丢失了。

 

队列绑定交换机:

消费者1:

 

 

消费者2:

 

 

消费者1和消费者2都绑定了 EXCHANGE_NAME="test_exchange_fanout"的交换机,将消息

发送到交换机时候,实现了一个消息被多个消费者消费,如图:

 

 

 

 

 

 

控制台查看到交换机绑定的队列:

 

posted @ 2020-03-18 22:25  一步一高  阅读(138)  评论(0编辑  收藏  举报