Я должен установить IP-адрес zookeeper в ConsumerGroup вместо IP-адреса Kafka-Host. Потому что я установил коэффициент репликации, так как были созданы 3 и 3 брокера. Таким образом, если один из узлов выйдет из строя, тогда другой может вступить во владение.
Когда я попытался ввести IP-адрес zookeeper вместо IP-адреса Kafka-Host в ConsumerGroup, он не получает никаких сообщений, отправленных из API производителя.
var kafka = require('kafka-node')
var ConsumerGroup = kafka.ConsumerGroup
function createConsumerGroup () {
var options = {
kafkaHost: '127.0.0.1:9092',
batch: undefined,
ssl: true,
groupId: 'demoExample',
protocol: ['roundrobin'],
encoding: 'utf8',
fromOffset: 'latest',
commitOffsetsOnFirstJoin: true,
outOfRangeOffset: 'earliest',
onRebalance: (isAlreadyMember, callback) => { callback(); }
}
var consumerGroup = new ConsumerGroup(Object.assign({ id: 'demo-' + process.pid }, options), 'example')
consumerGroup.on('message', function (message) {
message.value = JSON.parse(message.value)
console.log('Message Received')
})
}
Я хочу, чтобы, если я передал IP-адрес zookeeper в ConsumerGroup, а не IP-адрес Kafka-Host, он должен получать сообщения, которые были отправлены из API производителя по теме «примера». И если один из брокеров дает сбой, он должен получать сообщения от другого брокера. Поскольку коэффициент репликации установлен на 3, было создано 3 брокера.