Я использую библиотеку 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);
});
});