apache-kafka - 当另一个消费者加入同一个组时,分配给一个消费者的所有暂停分区都将被撤销
问题描述
我有一个消费者订阅了一个主题,它正在轮询 3 个分区。由于我的特定用例,此使用者调用pause(TopicPartition)方法,因此所有分区都将设置为暂停。无论如何,它会继续轮询以发送心跳。然后,第二个消费者加入同一个组。协调器重新平衡分区。预计这 3 个分区在两个消费者之间是平衡的,但是所有分区 (3) 都从第一个消费者撤消,并将它们分配给第二个消费者。
我可以在我的第一个消费者中在重新平衡时验证这一点(所有分区都处于暂停状态)。Coordinator 调用 ConsumerRebalanceListener.onPartitionsRevoked 但它从不调用 ConsumerRebalanceListener.onPartitionsAssigned
为什么 Coordinator 会撤销第一个消费者的所有分区?它与暂停的分区有关吗?有没有人在重新平衡暂停的分区时遇到过同样的行为?
解决方案
推荐阅读
- node.js - 我可以在没有任何 GUI 的情况下在 Raspberry pi 上运行 Chromium 中的本地托管网站吗?(仅限 CLI)
- r - 如何将 data.frame 中的列从列表转换为向量?
- javascript - 为什么我的 Google 图表无法在 Safari 上运行?
- reactjs - 如何在功能组件中映射设置器?
- c# - 当涉及外键时,无法邮递员 POST 到 dot net API c#
- javascript - firebase-messaging-sw.js 文件中用于 firebase 应用程序初始化的动态凭据
- java - 如何使用 Spring Data Redis 2.x 通过 Spring Boot 从 redis 缓存中获取所有密钥?
- python - 使用 Python 和 Kivy 的小型纸牌游戏
- python - 清除 vlc media_list_player 的媒体列表将不允许重新启动媒体播放器
- c - C OMP for 并行区域中的循环。非工作共享