我是kafka的新手。我阅读了快速入门并创建了一个名为' test'有4个分区,但是当向主题发送消息时我发现所有消息都保存在partition-0中,其他三个分区为空为什么?
我的java代码发送消息
for (int i = 0; i < 100; i++){
producer.send(new ProducerRecord<String, String>("test", "message",Integer.toString(i)));
}
答案 0 :(得分:2)
请参阅javadoc
If no partition is specified but a key is present a partition will be chosen using a hash of the key.
由于您传递的是同一个密钥,因此会将其发送到同一个分区。
for (int i = 0; i < 100; i++){
producer.send(new ProducerRecord<String, String>("test", "message"+i,Integer.toString(i)));
}
我已将该消息随机化为"message"+i