Apache Kafka in を使用したメッセージの送受信 Node.js

ステップ 1: Kafka ライブラリをインストールする Node.js

terminal プロジェクト ディレクトリで を 開きます Node.js。

次のコマンドを実行して、 の ライブラリである kafkajs ライブラリをインストールします 。 Node.js Apache Kafka npm install kafkajs

ステップ 2: Producer inを使用してメッセージを送信する Node.js

ライブラリをインポートし kafkajs、 Kafka Broker 構成を定義します。

const { Kafka } = require('kafkajs');  
  
const kafka = new Kafka({  
  clientId: 'your-client-id',  
  brokers: ['broker1:port1', 'broker2:port2'], // Replace with actual addresses and ports  
});  

メッセージを送信する を作成し producer 、メッセージを に送信します topic。

const producer = kafka.producer();  
  
const sendMessage = async() => {  
  await producer.connect();  
  await producer.send({
    topic: 'your-topic',  
    messages: [{ value: 'Hello Kafka!' }],  
  });  
  await producer.disconnect();  
};  
  
sendMessage();  

ステップ 3: Consumer inを使用してメッセージを受信する Node.js

ライブラリをインポートし kafkajs、 Kafka Broker 構成を定義します(まだ行っていない場合)。

const { Kafka } = require('kafkajs');  
  
const kafka = new Kafka({  
  clientId: 'your-client-id',  
  brokers: ['broker1:port1', 'broker2:port2'], // Replace with actual addresses and ports  
});  

consumer 特定の からメッセージを受信するには、 を作成します topic。

const consumer = kafka.consumer({ groupId: 'your-group-id' });  
  
const consumeMessages = async() => {  
  await consumer.connect();  
  await consumer.subscribe({ topic: 'your-topic', fromBeginning: true });  
  
  await consumer.run({  
    eachMessage: async({ topic, partition, message }) => {  
      console.log(`Received message: ${message.value}`);  
    },  
  });  
};  
  
consumeMessages();  

注: 'your-client-id''broker1:port1''your-topic'、 など の値を 'your-group-id' 実際のプロジェクト情報に置き換えます。

構成オプションと機能の詳細については、 の公式ドキュメント Apache Kafka とライブラリを必ず参照してください。 kafkajs