当消费者死亡时,RabbitMQ持续存在

时间:2015-06-18 17:02:43

标签: queue rabbitmq persistence

我希望消费者能够订阅活动,以防其中一个人死亡,我希望这个消费者能够保留这些消息,所以一旦它上线就会得到它们。 如果生产者创建N个队列,每个消费者1个,那么它可以工作。 但生产者不应该关心是否有消费者,以及他们有多少。 消费者有责任创建自己的队列,选择它想要接收的消息,队列将持续存在。 你能指点一下吗?

它是否需要生产者方面的任何特定内容?

RabbitMQ网站上的教程只讨论持久性,如果服务器死了,然后消息被持久化,或者另一个例子有一个队列,N消费者,如果所有消费者都死了,那就是持久性(因为消息是没有交付),但这是一个senario,消息只传递给消费者中的一个(随机),而我需要所有消费者接收他们订阅的消息,并且每个消费者的持续性。

感谢, 杆

1 个答案:

答案 0 :(得分:1)

使用主题交换,让每个使用者创建自己唯一的持久队列,并将其绑定到您想要订阅的主题的交换。在交换机上发布消息会将该消息传递给绑定到该交换/主题的每个队列。如果您的某个消费者死亡,其队列将继续排队从主题交换中收到的消息。