新消费者如何消费RabbitMQ中过去产生的消息?

时间:2016-06-29 19:02:11

标签: rabbitmq amqp

我是Apache Kafka的用户,试图运行RabbitMQ。 Kafka支持消费者使用之前生成的任何消息。 (通过在卡夫卡的日志中重新提供'偏移')

我想知道RabbitMQ是否具有相同的功能。 (一个新的消费者来到并在某一点之后请求所有消息。)

1 个答案:

答案 0 :(得分:2)

  

我想知道RabbitMQ是否具有相同的功能

没有。

Kafka是专为此功能而设计的 - 一个事件日志,可让您从一个点前进。

RabbitMQ是一个消息队列 - 先进先出。处理完一条消息后,它就会完成并消失。没有历史或日志可以遍历。

有一个"最近的历史" RabbitMQ的插件,但这并没有提供相同的功能集Kafka。

https://github.com/rabbitmq/rabbitmq-recent-history-exchange#readme

它只允许你说出类似"新消费者应该收到最后20条消息,然后继续获取新消息"。

另一方面,卡夫卡为您提供了更为广泛的历史,并且能够在开始时开始并根据需要向前推进。