【问题标题】:Does zookeeper returns Kafka brokers dns? (which has the leader partition)Zookeeper 是否返回 Kafka 代理 dns? (具有领导者分区)
【发布时间】:2020-10-18 01:32:41
【问题描述】:

我是 Kafka 的新手,我想问一个问题。

如果有 3 个 Kafka 代理(kafka1、kafka2、kafka3)(它们在同一个 Kafka 集群中) 和主题=测试(复制= 2) kafka1 有leader 分区,kafka2 有follower 分区。

如果producer向kafka3发送数据,那么kafka1和Kafka2中的数据如何存储?

听说,如果producer向kafka3发送数据,那么zookeeper会找到拥有leader分区的broker,并返回broker的dns或者IP地址。 然后,producer 会重新发送元数据给 broker。

对吗?或者如果它是错误的,请告诉我它是如何工作的。

非常感谢!

【问题讨论】:

    标签: apache-kafka apache-zookeeper


    【解决方案1】:

    每个 kafka 主题分区都有自己的领导者。因此,如果您有 2 个分区,kafka 将为每个分区分配领导者。它们最终可能是相同的 kafka 节点,也可能不同。

    生产者连接到 kafka 集群时,它会了解分区领导者。所有写入都必须经过相应的分区负责人,负责跟踪同步副本。

    所有消费者只与相应的分区领导者交谈以获取数据。

    如果分区领导者宕机,其中一个副本成为领导者,所有生产者和消费者都会收到有关此更改的通知

    【讨论】:

    • 感谢您的回复。但我不清楚“所有写入必须通过相应的分区领导”部分。我有一个 Kafka 集群(Kafka1,kafka2,kafka3),kafka1 是主题“test”的领导分区,kafka2 是主题“test”的从属​​分区如果我通过 logstash 通过 kafka 输出插件(输出 { bootstrap_servers : kafka3:9092}) 那么 kafka3 会返回 kafka1 的 dns 吗?还是 kafka3 只是将数据传递给 kafka1?
    猜你喜欢
    • 2021-11-08
    • 1970-01-01
    • 2020-07-05
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 2021-10-12
    相关资源
    最近更新 更多