rabbitmq-03篇 发布订阅模式

 发布订阅模式

publish/subscribe 模式

这种模式又称为发布订阅模式,相对于Work queues模式,该模式多了一个交换机,生产端先把消息发送到交换机,再由交换机把消息发送到绑定的队列中,每个绑定的队列都能收到由生产端发送的消息。

发布订阅模式:

1、每个消费者监听自己的队列;

2、生产者将消息发给broker,由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将接收到消息

 生产者发送消息到交换机,多个消费者声明多个队列,与交换机进行绑定,队列中的消息可以被所有消费者消费,类似于QQ群消息,大家都能收到同一条消息

 

首先相对于工作模式,发布订阅模式引入了交换机的概念,相对其类型上更加灵活广泛一些。通过上文我们可以总结如下:

    1.生产者不是直接操作队列,而是将数据发送给交换机,由交换机将数据发送给与之绑定的队列 

  1. 必须声明交换机,并且设置模式:channel.exchangeDeclare(EXCHANGE_NAME, "fanout"),其中 fanout 指分发模式(将每一条消息都发送到与交换机绑定的队列)。

  2. 队列必须绑定交换机:channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "");

posted @ 2021-11-04 16:51  代达罗斯之殇  阅读(67)  评论(0编辑  收藏  举报