首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kafka内部经纪人沟通

Kafka内部经纪人沟通
EN

Stack Overflow用户
提问于 2018-10-04 00:50:22
回答 2查看 4K关注 0票数 2

我理解生产者/消费者需要与经纪人交谈,以了解分区的领导者。经纪人与zk交谈,告诉他们他们加入了这个集群。

是真的吗

  1. 经纪人知道谁是zk中给定分区的领导者。
  2. zk检测到经纪人的左/死。然后,它重新选举领导人,并向所有经纪人发送新的领导信息。

问题:

  1. 为什么我们需要经纪人互相沟通?这样就可以移动分区,还是可以互相查询元数据。如果是这样,元数据交换的示例是什么?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-04 15:13:09

生产者/消费者向其中一个代理请求元数据(因为每个代理都缓存元数据),这就是他们如何知道谁是分区的领导者。

关于“这是真的”一节:

  1. 经纪人知道谁是给定分区的领导者,这要感谢zk和他们中的一个。更确切地说,他们中的一人决定谁将成为领导者。那个经纪人叫主计长。第一个连接到动物园管理员的经纪人变成了一个控制器,他的角色是决定哪个经纪人将是领导者,哪个经纪人将是复制者,并将其告知他们。控制器本身不排除在此过程中。它和其他的经纪人一样,肩负着挑选领导者和复制品的特殊责任。
  2. zk确实能检测到经纪人何时去世/离开,但不会重新选举领导人。这是控制器的责任。当其中一个代理离开集群时,控制器从zk获取信息并开始重新分配。

关于你的问题-经纪人确实彼此交流(副本正在读取来自领导者的消息,控制器正在通知其他经纪人关于变化的信息),但是它们之间不交换元数据--它们将元数据写入动物园管理员。

票数 4
EN

Stack Overflow用户

发布于 2018-10-04 07:06:25

代理是在Kafka集群中运行的卡夫卡服务器

一个Kafka集群由多个Kafka Broker组成。每个Kafka broker都有一个唯一的ID (编号)。Kafka Brokers包含主题日志分区。连接到一个代理引导一个客户端到整个Kafka集群

每个代理包含许多分区,每个分区都可以是主题的领导者或副本。所有对主题的写入和读取都要经过领导和领导者协调,用新的数据更新副本。如果一个领导者失败了,一个复制品取代了新的领导者。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52637490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档