我是Apache Kafka的用户,试图运行RabbitMQ。 Kafka支持消费者使用之前生成的任何消息。 (通过在卡夫卡的日志中重新提供'偏移')
我想知道RabbitMQ是否具有相同的功能。 (一个新的消费者来到并在某一点之后请求所有消息。)
答案 0 :(得分:2)
我想知道RabbitMQ是否具有相同的功能
没有。
Kafka是专为此功能而设计的 - 一个事件日志,可让您从一个点前进。
RabbitMQ是一个消息队列 - 先进先出。处理完一条消息后,它就会完成并消失。没有历史或日志可以遍历。
有一个"最近的历史" RabbitMQ的插件,但这并没有提供相同的功能集Kafka。
https://github.com/rabbitmq/rabbitmq-recent-history-exchange#readme
它只允许你说出类似"新消费者应该收到最后20条消息,然后继续获取新消息"。
另一方面,卡夫卡为您提供了更为广泛的历史,并且能够在开始时开始并根据需要向前推进。