【发布时间】: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