当新的消费者上线时,它能读取最后的x条消息吗?

时间:2016-09-14 19:20:03

标签: rabbitmq

我很困惑当新消费者上线时,rabbitmq的运作方式。

我了解当前有x个连接的消费者,然后生产者发送消息,消费者将收到这些消息。

但是说消费者X已经关闭,现在上网或者它是一个全新的消费者。它是否有可能在过去24小时内重播消息?

2 个答案:

答案 0 :(得分:0)

这是RabbitMQ的正常行为。

请阅读: https://www.rabbitmq.com/tutorials/tutorial-two-python.html

答案 1 :(得分:0)

  

它可以在过去24小时内重播消息吗?

这取决于你如何设置。

如果您有不自动删除的队列,他们将继续收集消息并等待消费者连接。

因为我的消费者正在崩溃,我有数千条消息被困在队列中的实例。一旦我修复了我的代码,消息就开始消耗了。

但是,如果你在消费者死亡时让你的队列被删除,那么你就会遇到麻烦。

有一个插件可以读取来自交换机的最后一个##消息,但它不能以基于时间的方式工作...只是最后一个消息的##:https://github.com/rabbitmq/rabbitmq-recent-history-exchange