我正在用NodeJS用kafkaJS库写一个卡夫卡制作人。
下面是我的示例代码。它与卡夫卡经纪人建立联系,并向卡夫卡主题“主题-名称”发送信息。
KafkaJS-Producer.js
const { Kafka } = require('kafkajs')
const kafka = new Kafka({
clientId: 'my-app',
brokers: ['localhost:9092']
})
const producer = kafka.producer()
async () => {
await producer.connect()
await producer.send({
topic: 'topic-name',
messages: [
{ key: 'key1', value: 'hello world' },
{ key: 'key2', value: 'hey hey!' }
],
})
await producer.disconnect()
}我运行代码时没有出错。
node SampleProducer.js使用来自主题的消息如下:
kafka-console-consumer --bootstrap-server localhost:9092 --topic topic-name --from-beginning但是,我没有看到任何信息传递给卡夫卡的主题。
这是什么原因?
注:
卡夫卡正在本地人的地盘上跑。还创建了主题。
资源:
https://www.npmjs.com/package/kafkajs https://kafka.apache.org/
发布于 2019-01-09 13:18:24
问题已解决:
实际上,问题是没有调用生成消息的箭头函数。我对代码做了一些修改,它现在运行得很好:
var sendMessage = async () => {
await producer.connect()
await producer.send({
topic: 'topic-name',
messages: [
{ key: 'key1', value: 'hello world' },
{ key: 'key2', value: 'hey hey!' }
],
})
await producer.disconnect()
}
sendMessage();https://stackoverflow.com/questions/54106408
复制相似问题