Mengintegrasikan Apache Kafka ke dalam Node.js Projek

Penyepaduan Apache Kafka ke dalam Node.js projek membolehkan anda membina aplikasi masa nyata yang memanfaatkan keupayaan pemprosesan data Kafka. Berikut ialah panduan asas tentang cara menyepadukan Apache Kafka ke dalam Node.js projek:

Langkah 1: Pasang Perpustakaan Kafka untuk Node.js

Buka terminal dalam Node.js direktori projek anda.

Jalankan arahan berikut untuk memasang kafkajs perpustakaan, Node.js perpustakaan untuk Apache Kafka: npm install kafkajs.

Langkah 2: Tulis Kod untuk Berinteraksi dengan Kafka dalam Node.js

Import kafkajs perpustakaan ke dalam kod anda Node.js:

const { Kafka } = require('kafkajs');

Tentukan parameter konfigurasi untuk Kafka Broker:

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

Buat producer untuk menghantar mesej:

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

Buat consumer untuk menerima mesej:

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();  

 

Nota: Gantikan nilai seperti 'your-client-id', 'broker1:port1', 'your-topic' dan 'your-group-id' dengan maklumat projek sebenar anda.

Perlu diingat bahawa penyepaduan Apache Kafka ke dalam Node.js boleh menjadi lebih kompleks berdasarkan keperluan khusus anda. Pastikan anda merujuk kepada dokumentasi rasmi Apache Kafka dan kafkajs perpustakaan untuk memahami lebih lanjut tentang pilihan konfigurasi dan fungsi.