现状
- 一台机器上多线程消费topic,差不多一个partition一个consumer
- 增加topic的partition触发了rebanlance,但并没有开始消费新的partition
- Shopify/sarama版本为1.13.1
- kafka版0.10.2
问题查找
- v1.24.1以下版本不会rebanlance
- 修复后理论上会rebanlance
- bsm/sarama-cluster不再更新,别使用
https://github.com/Shopify/sarama/pull/1525
原因
- 版本为0.10.2 <-不确定是否为该问题,但可以忽略
- kafka中的客户端ID相同,即每个线程的consumer使用默认ClientID,且IP地址相同
解决方法
- 配置ClientID且保证不同线程consumer不相同
clusterCfg.ClientID = fmt.Sprintf("%s_%s", ConsumerId, uuid.New().String())