Kafka选择了不同的分区,python Confluentu Kafka库v/s apache Kafka Java

Kafka选择了不同的分区,python Confluentu Kafka库v/s apache Kafka Java,python,apache-kafka,confluent-platform,Python,Apache Kafka,Confluent Platform,我从基于python confluent_kafka库的Producer v/s基于Java apache库的Producer发布相同的数据(主题、键和值),但当在kafka上检查消息时,它们会发布到不同的位置 卡夫卡分割 我期望在默认情况下,这两个库在键上使用相同的散列方法(2),并在将消息发布到Kafka时确定相同的分区,但看起来这并没有发生 是否需要在Python库上设置标志或选项,以便它使用相同的算法并生成相同的(与Java库一样)Kafka分区,或者是否应该使用其他Python库来实现

我从基于python confluent_kafka库的Producer v/s基于Java apache库的Producer发布相同的数据(主题、键和值),但当在kafka上检查消息时,它们会发布到不同的位置 卡夫卡分割

我期望在默认情况下,这两个库在键上使用相同的散列方法(2),并在将消息发布到Kafka时确定相同的分区,但看起来这并没有发生


是否需要在Python库上设置标志或选项,以便它使用相同的算法并生成相同的(与Java库一样)Kafka分区,或者是否应该使用其他Python库来实现此目的?

我找到了一种方法,强制confluent_Kafka生产者使用Murrull2算法来确定分区。您可以使用值设置以下参数:


“分割者”:“杂音2_随机”I'v也有同样的问题。你可以做两件事:

  • 将Python端的算法更改为“2_random”,但这可能有点脆弱
  • 将混乱的主题转发到另一个用单一语言编写的主题