Mengintegrasikan Apache Kafka ke dalam Node.js Proyek

Mengintegrasikan Apache Kafka ke dalam Node.js proyek memungkinkan Anda membangun aplikasi waktu nyata yang memanfaatkan kemampuan pemrosesan data Kafka. Berikut adalah panduan dasar tentang cara mengintegrasikan Apache Kafka ke dalam Node.js proyek:

Langkah 1: Instal Perpustakaan Kafka untuk Node.js

Buka terminal di Node.js direktori proyek Anda.

Jalankan perintah berikut untuk menginstal kafkajs perpustakaan, Node.js perpustakaan untuk Apache Kafka: npm install kafkajs.

Langkah 2: Tulis Kode untuk Berinteraksi dengan Kafka di Node.js

Impor kafkajs perpustakaan ke dalam kode 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 mengirim pesan:

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 pesan:

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

 

Catatan: Ganti nilai seperti 'your-client-id', 'broker1:port1', 'your-topic', dan 'your-group-id' dengan informasi proyek Anda yang sebenarnya.

Perlu diingat bahwa pengintegrasian Apache Kafka ke dalam Node.js dapat menjadi lebih kompleks berdasarkan kebutuhan khusus Anda. Pastikan untuk merujuk ke dokumentasi resmi Apache Kafka dan kafkajs pustaka untuk memahami lebih lanjut tentang opsi konfigurasi dan fungsionalitas.