栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Kafka使用者-使用者进程和线程与主题分区之间的关系是什么

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Kafka使用者-使用者进程和线程与主题分区之间的关系是什么

使用者组可以运行多个使用者实例(具有的多个进程

group-id
)。在使用时, 每个分区仅由组中的一个使用方实例使用

例如,如果您的主题包含2个分区,并且您

group-A
使用2个使用方实例启动一个使用方组,则每个使用方实例将使用该主题的特定分区中的消息。

如果您使用不同的组ID

group-A
和启动相同的2个使用者,
group-B
则该主题的两个分区中的消息将广播到其中每个。因此,在这种情况下,在其下运​​行的使用者实例
group-A
将具有来自该主题的两个分区的消息,这同样适用
group-B

在他们的文档中阅读有关此内容的更多信息

编辑 :根据您的评论,

我想知道在相同的流程中拥有2个使用者线程而不是2个使用者进程(两种情况下的组相同)之间的有效区别是什么?

使用者

group-id
在整个集群中是相同/全局的。假设您已经开始使用2个线程启动一个进程,然后使用具有2个线程的相同groupId生成另一个进程(可能在另一台机器上),那么kafka将添加这2个新线程以使用该主题中的消息。因此,最终将有4个线程负责同一主题的消费。然后,Kafka将触发重新平衡,以将分区重新分配给线程,因此可能发生的情况是,对于线程正在消耗的特定分区,
T1of process P1
可以将其分配给线程使用
T2 of process P2
。以下几行摘自Wiki页面

当使用相同的使用者组名称启动新进程时,Kafka将将该进程的线程添加到可用于消耗主题并触发“重新平衡”的线程集中。在重新平衡期间,Kafka将为可用线程分配可用分区,可能会将一个分区移至另一个进程。如果您混合使用新旧业务逻辑,则某些消息可能会传递到旧逻辑。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/440117.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号