Skip to content

新一代消费组协议(KIP-848)

KIP-848 是 Kafka 新一代消费组协议,把分区分配从客户端搬到服务端,并用增量心跳取代经典协议的"停顿式"再均衡。RobustMQ 支持该协议:客户端设置 group.protocol=consumer 即启用。经典协议见消费组

启用

配置效果
group.protocolconsumer使用 KIP-848 协议
group.protocolclassic(默认)使用经典协议

工作方式

RobustMQ Kafka KIP-848

核心是单一的 ConsumerGroupHeartbeat,取代了经典协议的 JoinGroup / SyncGroup / Heartbeat 三件套:

  1. 上报订阅:消费者心跳携带自己订阅的 topic 列表。
  2. 服务端分配:Broker(协调器)计算目标分配方案并在心跳响应中下发——这是与经典协议最大的不同。
  3. 增量 reconcile:消费者按目标分配增量地"先释放、再获取"分区,不需要全组停顿。
  4. 稳态心跳:达到目标分配后,心跳携带 epoch 做确认,进入稳态。

与经典协议对比

维度经典协议KIP-848
分配计算方客户端 leader服务端(Broker)
协议消息JoinGroup + SyncGroup + Heartbeat单一 ConsumerGroupHeartbeat
再均衡方式eager(停顿式,全组先释放再重分配)增量 reconcile(逐步迁移)
assignor 位置客户端服务端
启用方式默认group.protocol=consumer

两种协议共享同一份已提交位点和同一个协调器(Raft Leader),因此位点管理方式一致(见位点管理)。

限制

状态
group.protocol=consumer支持
服务端分配 + 增量心跳支持
subscribed_topic_regex(正则订阅)不支持

相关文档

🎉 既然都登录了 GitHub,不如顺手给我们点个 Star 吧!⭐ 你的支持是我们最大的动力 🚀