gpt4 book ai didi

apache-kafka - 如何检查kafka中键分配给哪个分区?

转载 作者:行者123 更新时间:2023-12-04 04:57:48 25 4
gpt4 key购买 nike

我正在尝试调试一个问题,我试图证明如果集群没有重新平衡,每个不同的键只会转到 1 个分区。

所以我想知道对于给定的主题,有没有办法确定 key 发送到哪个分区?

最佳答案

As explained herealso in the source code

您需要 byte[] keyBytes假设它不为空,然后使用 org.apache.kafka.common.utils.Utils ,您可以运行以下命令。

Utils.toPositive(Utils.murmur2(keyBytes)) % numPartitions;

对于字符串或 JSON,它是 UTF8 编码的,Utils 类有帮助函数来获取它。
对于 Avro,例如 Confluent 序列化值,它有点复杂(一个魔术字节,然后是架构 ID,然后是数据)。见 Wire format

only goes to 1 partition



这不是保证。哈希可能会发生冲突。

说一个给定的键不在多个分区中更有意义。

if the cluster is not rebalancing



重新平衡仍将保留分区值。

关于apache-kafka - 如何检查kafka中键分配给哪个分区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50164566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com