中间件速查手册
消息队列ConsumeMode

广播模式 / 集群模式 是什么?

集群模式组内分摊,广播模式每个消费者都收全量

类比:派单给一个同事(集群)vs 群里发通知人人可见(广播)

两种模式的区别

集群模式(Clustering,默认):同一个 ConsumerGroup 内的消费者分摊 Queue,一条消息只被组内一个消费者处理。offset 存在 Broker。

广播模式(Broadcasting):组内每个消费者都收到全量消息,offset 存在客户端本地文件。

怎么选

判断标准很简单:这条消息需要被「处理一次」还是被「每个实例都知道」。

  • 订单创建通知下游:集群模式,避免重复发货
  • 刷新本地缓存 / 配置变更通知:广播模式,每个实例都要更新
  • 广播模式不支持消息重投,消费失败就丢了,要自己兜底

容易踩的坑

把广播模式当成「多个消费者组」用,会导致 offset 管理混乱;广播模式下扩容消费者,新实例只能收到启动之后的消息,历史消息不会补。

它出现在这些中间件里

相关概念