0

アプリケーションを Kafka と統合するために kafka-node を使用しようとしています。プラグイン サイトからサンプル コードを取得し、モジュール化してみました。バックグラウンドでコンフルエントな 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, sender, channel_id, 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の知識が完全に使い果たされたため、私は完全に途方に暮れています(これはそれほどではありません)。

4

0 に答える 0