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 发送消息,并将消息发送到 a 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 库的官方文档以获取有关配置选项和功能的更多信息。