kafka保证具有相同密钥的消息将始终到达相同的分区。例如,我有一个字符串键为2329的消息。两个主题t1和t2。当我对这个消息执行写操作时,它会进入两个主题的分区1,正如预期的那样。
现在问题本身来了:我正在使用kafka streams 0.10.2.0持久状态存储,它会自动创建一个备份主题。现在,对于这个备份主题消息,密钥是:2329进入另一个分区(分区0),这对我来说很奇怪。
有人遇到过这个问题吗?
kafka保证具有相同密钥的消息将始终到达相同的分区。例如,我有一个字符串键为2329的消息。两个主题t1和t2。当我对这个消息执行写操作时,它会进入两个主题的分区1,正如预期的那样。
现在问题本身来了:我正在使用kafka streams 0.10.2.0持久状态存储,它会自动创建一个备份主题。现在,对于这个备份主题消息,密钥是:2329进入另一个分区(分区0),这对我来说很奇怪。
有人遇到过这个问题吗?
1条答案
按热度按时间vnzz0bqm1#
我发现问题出在哪里了。
为了提高性能,我在将数据写入状态存储之前跳过了重新分区。并使用值中的另一列作为状态存储键。它一直工作,直到添加了额外的主题和丰富的信息。所以我忘了重新分区。