【问题标题】:Kafka Streams state store backup topic partitioning strategyKafka Streams 状态存储备份主题分区策略
【发布时间】:2017-12-18 13:23:05
【问题描述】:

Kafka 保证具有相同密钥的消息将始终发送到相同的地址 划分。 例如,我有带有字符串键的消息:2329。还有两个主题 t1 和 t2。当我执行此消息的写入时,它按预期进入两个主题的分区 1。

现在问题本身:我正在使用 Kafka Streams 0.10.2.0 持久状态存储,它会自动创建一个备份主题。现在,如果这个带有键的备份主题消息:2329 进入另一个分区(分区 0),这对我来说很奇怪。

有人遇到过这个问题吗?

【问题讨论】:

  • 您使用的是同一个序列化程序吗?分区号由键的序列化值决定。如果 Kafka Streams Serde 使用的序列化器与 KafkaProducer 使用的序列化器不同,那就可以解释了。
  • 序列化器是一样的,分区器是默认的。

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


【解决方案1】:

我发现问题出在哪里。

为了提高性能,我在将数据写入状态存储之前跳过了重新分区。并使用值中的另一列作为状态存储键。它一直有效,直到添加了带有丰富信息的附加主题。所以我只是忘了执行重新分区。

【讨论】:

    猜你喜欢
    • 2019-03-15
    • 2018-10-24
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 2016-11-15
    • 1970-01-01
    相关资源
    最近更新 更多