【问题标题】:PartitionId in kafka replicated partitionkafka复制分区中的PartitionId
【发布时间】:2016-07-09 05:59:33
【问题描述】:

我正在实现具有多个分区的单个主题的 kafka 生产者。我正在选择消息通过消息中的特定值(消息 json 中的 feedName 属性值)进入哪个分区。我正在为 feedName - partitionId 映射维护一个 SQL 表。我的问题是领导者和副本的分区 ID 是否相同? 如果不同,我如何才能在所有代理中唯一标识一个分区?

【问题讨论】:

    标签: apache-kafka kafka-producer-api


    【解决方案1】:

    各个代理的分区 ID 相同。否则,会变得非常混乱。

    分区 ID 在 Zookeeper 中维护,所有代理都可以访问 Zookeeper。这就是它的用途——因此所有代理对主题和分区(以及代理,就此而言)具有相同的视图。

    【讨论】:

      【解决方案2】:

      分区 id 是不可变的消息序列。您可以在 Kafka 文档中找到相同的内容

      每个分区都是一个有序的、不可变的消息序列,不断附加到提交日志。

      在您的用例中,您无需担心 id 和 feedName 的映射。

      希望这会有所帮助!

      【讨论】:

      • 不是他要的。事实上,不——分区 ID 不是不可变的消息序列。分区 ID 是 Int。分区是一个不可变的消息序列。大不同。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 2021-07-30
      • 2018-04-02
      • 2020-01-25
      • 2020-03-18
      相关资源
      最近更新 更多