I am trying to execute the below producer code in Node JS using kafkajs module
const {Kafka} = require("kafkajs")
const kafka = new Kafka({
clientId : 'my-producer',
brokers : ['kafka1:9092']
})
const producer = kafka.producer();
const produceMessage = async () =>
{
const value = Math.random() * 1;
console.log(value);
try{
await producer.send({
topic : 'tester',
messages : [
{
value
},
],
})
}catch(error)
{
console.log(error);
}
}
const run = async () =>
{
await producer.connect()
setInterval(produceMessage,1000)
}
run()
And the following consumer code
const {Kafka} = require("kafkajs")
const kafka = new Kafka({
clientId : 'my-consumer',
brokers : ['kafka1:9092']
})
const consumer = kafka.consumer({groupId : 'consumer-group'});
const run = async () => {
await consumer.connect()
await consumer.subscribe({ topic: 'tester' })
await consumer.run({
eachMessage: async ({ topic, message }) => {
console.log({
offset: message.offset,
value: message.value,
})
},
})
}
run()
But I am not able to see the output which is being sent from producer to consumer. Neither I can see any random numbers being generated by the producer nor any data being fetched by the consumer.
Thanks in Advance :)