集群和广播模式下 RocketMQ 消费端处理
Topic 下队列的奇偶数会影响 Customer 个数里面的消费数量
如果是 4 个队列, 8 个消息, 4 个节点则会各消费 2 条,如果不对等,则负载均衡会分配不均
如果 consumer 实例的数量比 message queue 的总数量还多的话,多出来的 consumer 实例将无法分到 queue,也就无法消费到消息,也就无法起到分摊负载的作用,所以需要控制让 queue 的总数量大于等于 consumer 的数量
集群模式(默认)
Consumer 实例平均分摊消费生产者发送的消息
例子:订单消息, —般是只被消费—次
广播模式:
- 广播模式下消费消息:投递到 Broker 的消息会被每个 Consumer 进行消费, —条消息被多个 Consumer 消费, 广播消费中 ConsumerGroup 暂时无用
- 例子:群公告,每个人都需要消费这个消息
怎么切换模式
通过 setMessageModel()
剑鸣秋朔