使用 Kafka-Node 模块时出现连接超时错误

问题描述

我正在尝试使用 kafka-node 将我们的应用程序与 Kafka 集成。我从插件站点获取示例代码并尝试对其进行模块化。我在后台使用融合的 Kafka docker 图像。

示例代码

var kafka = require('kafka-node'),Producer = kafka.Producer,client = new kafka.KafkaClient(),producer = new Producer(client);
  producer.on('ready',function () {
});

producer.on('error',function (err) { })
exports.producer = producer

另一方面使用以下代码访问此

var { producer } = require('./test');
function writetoQueue(text,sender,channel_id,type) {
  message = new Message(text,type)
  console.log(message)

  payloads = [
    { topic: 'chat',messages: JSON.stringify(message),partition: 0 }

  ];
  producer.send(payloads,function (err,data) {
    console.log(data);

  });
}

似乎一切正常,因为消息正在写入 Kafka 主题,唯一的问题是一段时间后,我收到以下错误


events.js:292
      throw er; // Unhandled 'error' event
      ^
TimeoutError: Connection timeout of 10000ms exceeded
    at new TimeoutError (G:\projects\nodejs\messaging\node_modules\kafka-node\lib\errors\TimeoutError.js:6:9)
    at Timeout.<anonymous> (G:\projects\nodejs\messaging\node_modules\kafka-node\lib\kafkaClient.js:253:13)
    at listOnTimeout (internal/timers.js:554:17)
    at processtimers (internal/timers.js:497:7)
Emitted 'error' event on Producer instance at:
    at KafkaClient.<anonymous> (G:\projects\nodejs\messaging\node_modules\kafka-node\lib\baseProducer.js:101:10)
    at KafkaClient.emit (events.js:315:20)
    at G:\projects\nodejs\messaging\node_modules\kafka-node\lib\kafkaClient.js:165:16
    at G:\projects\nodejs\messaging\node_modules\async\dist\async.js:3888:9
    at G:\projects\nodejs\messaging\node_modules\async\dist\async.js:473:16
    at iterateeCallback (G:\projects\nodejs\messaging\node_modules\async\dist\async.js:988:17)
    at G:\projects\nodejs\messaging\node_modules\async\dist\async.js:969:16
    at G:\projects\nodejs\messaging\node_modules\async\dist\async.js:3885:13
    at G:\projects\nodejs\messaging\node_modules\kafka-node\lib\kafkaClient.js:207:9
    at G:\projects\nodejs\messaging\node_modules\async\dist\async.js:969:16
PS G:\projects\nodejs\messaging>

我完全不知所措,因为我对 nodejs 的知识在试图解决这个问题时已经完全耗尽(顺便说一句)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)