2017-05-02 27 views

回答

0

RabbitMQ的消费者不保持客户端像卡夫卡消费者一定偏移。 Kafka将所有消息存储在配置的时间段内,并且客户端管理他们自己的偏移量,这意味着不同的客户端可以使用队列中不同偏移量的消息。这意味着不同的卡夫卡消费者不会与消费者竞争,除非他们协调并分享他们的抵消。

RabbitMQ是非常不同的。消息被存储直到它们被发送给消费者,然后被确认或过期。如果一个队列有多个消费者,那么他们就是竞争消费者,并且一条消息只能被众多消费者之一消费。

RabbitMQ的具有输送标签,它是单调递增的数字每递送通过信道信息,即递增的概念。它没有全球意义,它具有单一渠道的范围,因此不在不同服务器,流程上的消费者之间共享。消费者只需要跟踪这个号码以作为消息确认的目的,RabbitMQ负责选择哪个消息被传递给哪个消费者。