【问题标题】:Responsibility of Zookeeper Vs Controller Broker in KafkaKafka 中 Zookeeper 与 Controller Broker 的职责
【发布时间】:2021-09-05 09:44:31
【问题描述】:

我了解代理控制器负责管理集群中的所有代理。据我了解,ZooKeeper 有助于识别 Controller。

ZooKeeper 的职责是否仅限于识别 Controller 或 Zookeeper 对集群的管理负有更多责任。

其次,Producer/Consumers拿broker列表来识别集群的状态,为什么Producer/Consumers不和zoo-keeper交互?

【问题讨论】:

    标签: apache-kafka apache-zookeeper


    【解决方案1】:

    在 KIP-500(删除 Zookeeper)之前,Zookeepeer 维护主题列表、它们的副本放置、Kafka ACL 以及其他细节,而不仅仅是领导选举设施

    为什么生产者/消费者不与动物园管理员互动?

    他们曾经(Kafka 客户端早于 0.9),但为了减轻维护负担并简化重写客户端库的代码库,已将其删除。

    【讨论】:

    • 我的想法是Controller会维护Topics、Leader Selection、Replicas等细节,是不是不对?你能解释一下 ZooKeeper 和 Controller 的职责吗?我所说的消费者与经纪人而不是动物园管理员交互的意思是 props.put("bootstrap.servers",...) 我的查询是消费者不应该联系动物园管理员而不是经纪人。在你回答之后,我查看了confluent.io/blog/… 它说“.. 在旧的消费者和生产者中,我们需要配置一个初始的经纪人列表......”
    • 1) 以为控制器会维护 - 否。Refer docs。 2) 消费者不应该联系动物园管理员而不是经纪人。不,至少不是直接的。元数据请求最终到达 Zookeeper,但 0.9 以上版本的客户端永远不应直接与 ZK 通信,因为它最终将在明年左右被完全删除
    • 感谢您的回复。我会通过文档。出于好奇,我有一个问题,虽然 ZK 将在一段时间后被删除,并且 0.9 以上版本的客户端不应该直接与 ZK 通信。但是对于早期的客户,如果元数据请求最终只到达 ZK,为什么通信是通过代理而不是直接到 ZK。
    • 因为生产和消费请求是由经纪人发送和处理的......我不明白你想问什么
    • 因为 Zookeeper 服务器不知道如何处理 TCP request payload
    猜你喜欢
    • 1970-01-01
    • 2020-05-26
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多