Skip to content
章节导航

集群和广播模式下 RocketMQ 消费端处理

Topic 下队列的奇偶数会影响 Customer 个数里面的消费数量

  • 如果是 4 个队列, 8 个消息, 4 个节点则会各消费 2 条,如果不对等,则负载均衡会分配不均

  • 如果 consumer 实例的数量比 message queue 的总数量还多的话,多出来的 consumer 实例将无法分到 queue,也就无法消费到消息,也就无法起到分摊负载的作用,所以需要控制让 queue 的总数量大于等于 consumer 的数量

  • 集群模式(默认)

  • Consumer 实例平均分摊消费生产者发送的消息

  • 例子:订单消息, —般是只被消费—次

广播模式:

  • 广播模式下消费消息:投递到 Broker 的消息会被每个 Consumer 进行消费, —条消息被多个 Consumer 消费, 广播消费中 ConsumerGroup 暂时无用
  • 例子:群公告,每个人都需要消费这个消息

怎么切换模式

通过 setMessageModel()