新消费者如何使用RabbitMQ中过去生成的消息?

新消费者如何使用RabbitMQ中过去生成的消息?,rabbitmq,amqp,Rabbitmq,Amqp,我是ApacheKafka的用户,试图运行RabbitMQ。 Kafka支持使用者使用以前生成的任何消息。(通过在卡夫卡的日志中重新设置“偏移量”) 我想知道RabbitMQ是否具有相同的功能。 (一个新的消费者在某一点之后来请求所有消息。) 我想知道RabbitMQ是否具有相同的功能 事实并非如此 卡夫卡是专为这一功能而设计的,它是一个事件日志,允许您从一个点向前移动 RabbitMQ是一个消息队列-先进先出。一旦消息被处理,它就完成并消失了。没有要遍历的历史或日志 RabbitMQ有一个“

我是ApacheKafka的用户,试图运行RabbitMQ。 Kafka支持使用者使用以前生成的任何消息。(通过在卡夫卡的日志中重新设置“偏移量”)

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

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

事实并非如此

卡夫卡是专为这一功能而设计的,它是一个事件日志,允许您从一个点向前移动

RabbitMQ是一个消息队列-先进先出。一旦消息被处理,它就完成并消失了。没有要遍历的历史或日志


RabbitMQ有一个“最近的历史”插件,但它不提供相同的特性集Kafka

它只允许你说“新消费者应该在继续收到新消息之前收到最后20条消息”


另一方面,Kafka为您提供了更广泛的历史记录,使您能够从头开始并根据需要继续前进。

RabbitMQ消费者将收到订阅后生成的消息,对吗?感谢假设队列中只有一个消费者,那么在消费者连接并开始消费之后,该消费者将收到队列中的任何消息。如果在消费者连接之前队列中有5条消息,消费者将收到这5条消息以及之后传入的所有消息,但一旦这5条消息消失,并且另一个消费者连接到同一队列,第二个消费者将不会收到这5条消息,因为消息已经消失。没有历史记录,除了我提到的插件。如果exchange语义是“发布/订阅”或“主题”,那么所有消费者都会收到相同的消息。我明白你的意思了每个消费者事务的队列。谢谢你的详细评论。我很感激。