Kafka Node High Level Producer пишет только на четные разделы - PullRequest
0 голосов
/ 17 февраля 2019

Я использую библиотеку Kafka Node и тестирую высокоуровневого производителя.

Я создал тему с 10 разделами 'HLPTestInput' и написал функцию, которая генерирует для нее каждую секунду.

Производитель пишет в разделы 0,2, 4, 6 и 8, но не в нечетные.

Странно, когда я использую эту тему и создаю другую тему 'HLPTestInputFromConsumer ', который имеет 5 разделов, сообщения записываются во все из них.

Есть ли конфигурация, которую я пропускаю?

const kafka = require('kafka-node'),
    HighLevelProducer = kafka.HighLevelProducer,
    ConsumerGroup = kafka.ConsumerGroup,
    client = new kafka.KafkaClient({kafkaHost: 'smc-dev.silverbolt.lab:9092'}),
    producer = new HighLevelProducer(client),
    consumer = new ConsumerGroup(
        {
          kafkaHost: 'smc-dev.silverbolt.lab:9092',
            groupId: 'testGroup'
        },
        'HLPTestInput'
    );

let index = 0;
setInterval(() => {
    producer.send([{
        topic: 'HLPTestInput',
        messages: [index]
    }], (err, data) => {
        console.log('produced', data);
    });
    index++;
}, 1000);

consumer.on('message', (message) => {
    console.log('consumed', message);
    producer.send([{
        topic: 'HLPTestInputFromConsumer',
        messages: [message]
    }], (err, data) => {
        console.log('produced to secondary', data);
    });
});
...