【发布时间】:2016-06-30 11:14:08
【问题描述】:
我是一名尝试运行 RabbitMQ 的 Apache Kafka 用户。 Kafka 支持消费者消费之前产生的任何消息。 (通过重新加宽 Kafka 日志中的“偏移量”)
我想知道 RabbitMQ 是否具有相同的功能。 (一个新的消费者来了,在某个时间点之后请求所有的消息。)
【问题讨论】:
我是一名尝试运行 RabbitMQ 的 Apache Kafka 用户。 Kafka 支持消费者消费之前产生的任何消息。 (通过重新加宽 Kafka 日志中的“偏移量”)
我想知道 RabbitMQ 是否具有相同的功能。 (一个新的消费者来了,在某个时间点之后请求所有的消息。)
【问题讨论】:
我想知道RabbitMQ是否有同样的功能
没有。
Kafka 专为该功能而构建 - 一个允许您从某个点向前移动的事件日志。
RabbitMQ 是一个消息队列——先进先出。一旦消息被处理,它就完成了并且消失了。没有要遍历的历史记录或日志。
有一个用于 RabbitMQ 的“最近历史”插件,但这不提供与 Kafka 相同的功能集。
https://github.com/rabbitmq/rabbitmq-recent-history-exchange#readme
它只允许您说“新消费者应该在继续获取新消息之前获取最后 20 条消息”之类的内容。
另一方面,Kafka 为您提供了更广泛的历史,并且能够从头开始并根据需要继续前进。
【讨论】: