RocketMQ的Consumer有两种消费模式,通过
consumer.setMessageModel(MessageModel.BROADCASTING)
consumer.setMessageModel(MessageModel.CLUSTERING)设置

广播模式

当使用广播消费模式时,MQ 会将每条消息推送给集群内所有订阅该topic和tag的客户端,保证消息至少被每台机器消费一次。
消息发送失败不会重投
消费进度由consumer维护,broker并不关心一条消息有没有消费成功
RocketMQ——Consumer消费模式

集群模式

该模式下,一条消息只要被关注该topic和tag的集群只消费一次就行。
消息失败会重投,但不保证重投到同一机器上
消费进度由broker维护
RocketMQ——Consumer消费模式

经实验表明

在集群模式下开多个consumer,发送时只有一个consumer会消费该消息,且每次启动producer时,消费消息多consumer可能不同

相关文章: