Kafka消费群体的滚动部署会导致群体冻结吗?
让我们考虑一下这个场景,
我们开始滚动部署
一个消费者离开集团
Kafka注意到了这一点,并触发了重新平衡(因此消费停止)
重新平衡发生了,但很快就有新的消费者想要加入
另一位消费者也离开了
再次发生新的平衡
(循环直到部署完成)
因此,如果您有一个足够大的集群,并且在一台机器上完成部署需要一些时间(通常是这样),那么这会导致消耗的完全冻结吗?
如果是,在生产中更新消费群体的策略是什么
Kafka消费群体的滚动部署会导致群体冻结吗?
让我们考虑一下这个场景,
我们开始滚动部署
一个消费者离开集团
Kafka注意到了这一点,并触发了重新平衡(因此消费停止)
重新平衡发生了,但很快就有新的消费者想要加入
另一位消费者也离开了
再次发生新的平衡
(循环直到部署完成)
因此,如果您有一个足够大的集群,并且在一台机器上完成部署需要一些时间(通常是这样),那么这会导致消耗的完全冻结吗?
如果是,在生产中更新消费群体的策略是什么
1条答案
按热度按时间8hhllhi21#
是的,那是绝对可能的。最近有许多改进可以缓解类似事件期间的停机时间。我建议启用一个或两个或以下功能:
在2.3中添加了静态成员身份,可以防止在组中的已知成员被跳转时发生重新平衡。这要求客户机和代理都在版本2.3上+
增量合作再平衡使团队能够更快地进行再平衡,并允许个别成员在整个再平衡过程中继续消费。在滚动部署期间,您仍然会看到重新平衡,但它们不会导致整个部署期间的消费完全冻结。这是完全客户端,所以它将与任何经纪人,但你的客户应该在版本2.5.1+