【问题标题】:How to create partitions in Kafka Topics with customer name/id如何使用客户名称/ID 在 Kafka 主题中创建分区
【发布时间】:2021-11-29 00:16:56
【问题描述】:

我正在尝试创建具有 100 个分区的主题,并且我希望每个分区都有一个唯一的名称或 ID,以便生产者确切地知道使用哪个分区来发送事件。我正在使用 Confluent Kafka,因此我使用 UI 创建了一个包含 100 个分区的主题,但它没有为我提供选择名称或任何分区键的选项?

这是我关注的链接:https://docs.confluent.io/platform/current/control-center/topics/create.html

语言:.NET

有没有办法指定/自定义分区ID?

【问题讨论】:

    标签: apache-kafka apache-kafka-streams confluent-platform


    【解决方案1】:

    您不能在 Kafka 中命名分区,只有主题有名称。每个主题的分区总是从 0 开始编号。

    您可以使用 100 个不同名称的主题,也可以使用 Partitioner 来计算每个事件的分区号。

    【讨论】:

    • 如何从生产者端确保消息进入同一个分区。是基于消息的key吗?
    • 默认的 Partitioner 确保具有相同 key 的消息最终在同一个分区中。但是您仍然可以在同一个分区中获取多个密钥。 Partitioner 是一个可插拔接口,因此如果内置的 Partitioner 不能满足您的用例,您可以自己编写。
    • 事件键可以是json格式吗?因为我们需要多个id来区分事件所以我可以用json格式发送key吗?
    • 记录键可以是任意数据,和值一模一样。
    猜你喜欢
    • 2018-10-11
    • 2015-11-29
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多