生产者端:
在app.js中引入
在需要的地方发送消息:
const run = async () => {
// Producing
await global.producer.connect()
await global.producer.send({
topic: 'test-topic',
messages: [
{ value: "hello kafka"
},
],
})
};
run().catch(console.error)
消费者端:
const { Kafka } = require('kafkajs')
const kafka = new Kafka({
clientId: 'my-app',
brokers: ['localhost:9092']
})
const producer = kafka.producer()
const consumer = kafka.consumer({ groupId: 'test-consumer-group' })
const run = async () => {
// Consuming
await consumer.connect()
await consumer.subscribe({ topic: 'test-topic', fromBeginning: true })
await consumer.run({
eachMessage: async ({ topic, partition, message }) => {
console.log({
partition,
offset: message.offset,
value: message.value.toString(),
})
},
})
}
run().catch(console.error)
kafkajs官方文档: