【问题标题】:Why can't Kafka Producer connect to zookeeper to fetch broker metadata instead of connecting to brokers为什么Kafka Producer不能连接到zookeeper来获取broker元数据而不是连接到brokers
【发布时间】:2016-06-13 20:28:29
【问题描述】:

Kafka 生产者需要一个 kafka 代理的引导列表才能工作。 根据this explanation,它需要它才能连接到其中一个代理,然后获取有关集群中所有实时代理的元数据。

现在,所有代理都已在 Zookeeper 中注册,Kafka 消费者连接到 ZK,ZK 处理来自哪个代理,哪个分区是要读取的数据。既然 ZK 已经掌握了所有信息,为什么 Producers 也不能连接到 ZK?

我看到有一些关于此的 SO 问题,但它们似乎解释了为什么消费者需要 ZK 而不是为什么 Producer 需要引导代理列表而不是 ZK?

【问题讨论】:

    标签: apache-kafka apache-zookeeper kafka-producer-api


    【解决方案1】:

    过去,生产者和消费者都连接到 Zookeeper 进行协调,但现在已经不再这样做了。有了 Kafka 0.9 中的新消费者 API,客户端都不再需要了解 Zookeeper,这似乎是 Kafka 客户端的未来。除了摆脱对 ZK 的依赖和易碎的连接库之外,它还使客户端协议的演变更加容易,因为这现在完全由 Kafka 管理。

    目前,Kafka 0.9 中提供了两个消费者客户端,但您应该做好准备,使用 ZK 连接的消费者客户端可能会在未来版本中的某个时候被弃用。

    【讨论】:

    • 我使用的是 8.2.1 版本的客户端。我的生产者需要代理的引导列表,而我的消费者需要 Zookeeper 连接。想知道为什么一直这样
    • 您可以在从kafka.apache.org/07/quickstart.html 的文档页面中看到它的这种演变,其中生产者和消费者示例都使用 ZK 到本节的最后几行 kafka.apache.org/documentation.html#security_ssl 显示生产者和消费者连接在最新版本中直接发送给经纪人。
    猜你喜欢
    • 2015-03-11
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 2018-09-15
    • 2020-01-25
    • 2018-04-28
    • 1970-01-01
    • 2012-07-27
    相关资源
    最近更新 更多