0

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 :)

OneCricketeer
  • 179,855
  • 19
  • 132
  • 245

0 Answers0