kafka 消费者组可以在重新平衡期间冻结吗

swa*_*ina 5 apache-kafka kafka-consumer-api

Kafka 消费者组的滚动部署是否会导致该组冻结?

所以让我们考虑一下这个场景,

  1. 我们开始滚动部署
  2. 一位消费者离开了群组
  3. Kafka 注意到这一点并触发重新平衡(因此消费停止)
  4. 重新平衡发生了,但很快就有新的消费者想要加入
  5. 另一个消费者也离开了
  6. 再次发生新的重新平衡
  7. (循环直到部署完成)

因此,如果您有一个足够大的集群,并且在一台机器上完成部署需要一些时间(通常是这种情况),这会导致消耗完全冻结吗?

如果是,在生产中进行消费者组更新的策略是什么

小智 5

是的,这绝对有可能。最近进行了许多改进,以减少此类事件期间的停机时间。我建议启用一项或两项或以下功能:

静态成员资格是在 2.3 中添加的,可以防止在组的已知成员被退回时发生重新平衡。这要求客户端和代理都在 2.3+ 版本上

增量合作重新平衡使组能够更快地重新平衡,并允许个人成员在重新平衡期间继续消费。在滚动部署期间,您仍会看到重新平衡,但它们不会导致在此期间完全冻结消耗。这完全是客户端,因此它可以与任何经纪人一起使用,但您的客户端应该使用 2.5.1+ 版本