kafka multipart только один может получить сообщение

Я новичок в kafka. Я прочитал быстрый старт и создал тему с именем «тест» с 4 разделами, но при отправке сообщений в тему я обнаружил, что все сообщения сохраняются в разделе-0, а остальные три раздела пусты, почему?

есть мой java-код для отправки сообщений

    for (int i = 0; i < 100; i++){
         producer.send(new ProducerRecord<String, String>("test", "message",Integer.toString(i)));

    }

person eric zhao    schedule 27.04.2016    source источник


Ответы (1)


См. 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

person Vishal John    schedule 27.04.2016