首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NodeJS库不工作的kafkaJS卡夫卡生产者

使用NodeJS库不工作的kafkaJS卡夫卡生产者
EN

Stack Overflow用户
提问于 2019-01-09 09:01:38
回答 1查看 5.6K关注 0票数 0

我正在用NodeJS用kafkaJS库写一个卡夫卡制作人。

下面是我的示例代码。它与卡夫卡经纪人建立联系,并向卡夫卡主题“主题-名称”发送信息。

KafkaJS-Producer.js

代码语言:javascript
复制
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()
}

我运行代码时没有出错。

代码语言:javascript
复制
node SampleProducer.js

使用来自主题的消息如下:

代码语言:javascript
复制
kafka-console-consumer --bootstrap-server localhost:9092 --topic topic-name --from-beginning

但是,我没有看到任何信息传递给卡夫卡的主题。

这是什么原因?

注:

卡夫卡正在本地人的地盘上跑。还创建了主题。

资源:

https://www.npmjs.com/package/kafkajs https://kafka.apache.org/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-09 13:18:24

问题已解决:

实际上,问题是没有调用生成消息的箭头函数。我对代码做了一些修改,它现在运行得很好:

代码语言:javascript
复制
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();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54106408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档