消费者死亡时的 rabbitMQ 持久化

rabbitMQ persistency when consummers die

我希望消费者订阅事件,以防万一他们中的一个死了,我希望为这个消费者保留消息,所以一旦它在线就会得到它们。 如果生产者创建 N 个队列,每个消费者 1 个,那么它就可以工作。 但是生产者不能不关心有没有消费者,有多少消费者。 消费者有责任创建自己的队列,select 它想要接收的消息,并且队列应该持久存在。 能给我指路吗?

生产方是否有任何具体要求?

RabbitMQ网站上的教程只讲持久化,如果服务器死了,那么消息被持久化,或者另一个例子有一个队列,N个消费者,只有所有消费者都死了才有持久性(因为消息未传递),但这是一个场景,其中消息仅传递给其中一个消费者(随机),而我需要所有消费者接收他们订阅的消息,并且每个消费者的持久性。

谢谢, 杆

使用主题交换器,让每个消费者创建自己独特的持久队列,并将其绑定到具有您要订阅的主题的交换器。在交换器上发布消息会将消息传送到绑定到 exchange/topic 的 each 队列。如果您的一位消费者死亡,其队列将继续 queue 从主题交换器接收的消息。