如何解决卡夫卡消费者群体能否在重新平衡期间冻结
Kafka消费者组的滚动部署会导致该组冻结吗?
所以让我们考虑一下这种情况,
- 我们开始滚动部署
- 一个消费者离开小组
- Kafka注意到这一点并触发重新平衡(因此消耗停止)
- 发生重新平衡,但很快有新的消费者想要加入
- 另一个消费者也离开了
- 再次发生新的平衡
- (循环直到部署完成)
因此,如果您有足够大的群集,并且在一台计算机上完成部署需要花费一些时间(通常是这种情况),这会导致消耗量完全冻结吗?
如果是,在生产中进行消费者群体更新的策略是什么
解决方法
是的,这绝对是可能的。最近有许多改进措施可以缓解此类事件期间的停机时间。我建议启用以下一项或两项功能:
Static membership已在2.3中添加,可以防止在该组的某个已知成员被退回时发生重新平衡。这要求客户端和代理都必须使用2.3+版本。
Incremental cooperative rebalancing使该组具有更快的重新平衡,并允许单个成员在整个重新平衡过程中继续消费。在滚动部署期间,您仍然会看到重新平衡,但是在整个过程中它们不会导致消耗量完全冻结。这完全是客户端,因此可以与任何代理一起使用,但是您的客户端应使用2.5.1+版本
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。