Rog*_*son 9 apache-kafka kafka-consumer-api
假设我在Kafka中为给定主题分配了10个分区.我可以选择在消费者之间自动对这10个分区进行负载均衡?
我已经阅读了这篇文章/sf/answers/2000625441/但我不确定它涵盖了我正在寻找的内容,或者我可能只是没有得到它.
如果我为每个分区启动一个具有一个使用者的工作者,那么该工作人员将使用所有工作.
但是,如果我在其他地方启动同一个工作人员的另一个实例会怎样?客户端库/ Kafka是否会以某种方式检测到这一点,并重新平衡两个worker之间的负载,以便worker1上的一些活动使用者现在处于空闲状态,而worker2上的相同使用者变为活动状态?
我希望能够按需添加和删除工作人员,并将负载分散到那些,这可能吗?
ash*_*hic 12
卡夫卡消费者是消费者群体的一部分.一个组中有一个或多个消费者.每个分区都分配给一个使用者.分区是Kafka扩展的方式.如果您拥有的消费者多于分区,那么您的一些消费者将无所事事.如果您有比消费者更多的分区,则可能会将多个分区分配给单个使用者.
当新的消费者加入时,会发生重新平衡,并为新的消费者分配一些先前分配给其他消费者的分区.在您的情况下,如果一个消费者正在使用10个分区,而另一个消费者加入,则会有重新平衡,之后,每个消费者将会(通常)有五个分区.
值得注意的是,在重新平衡期间,消费者群体"暂停".当消费者优雅地离开,或领导者发现消费者已经离开时,会发生类似的事情.
| 归档时间: |
|
| 查看次数: |
5340 次 |
| 最近记录: |