การส่งและรับข้อความด้วย Apache Kafka in Node.js

ขั้นตอนที่ 1: ติดตั้ง Kafka Library สำหรับ Node.js

เปิด a 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  
});  

สร้าง a 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 ไลบรารีสำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกการกำหนดค่าและฟังก์ชันการทำงาน