Mengintegrasikan Kafka Streams dengan Node.js

Mengintegrasikan Kafka Streams dengan Node.js aplikasi adalah cara ampuh untuk memproses dan menganalisis data secara langsung dari Apache Kafka dalam suatu Node.js lingkungan. Kafka Streams memungkinkan Anda membangun pemrosesan data real-time dan mengintegrasikannya dengan mulus ke dalam Node.js aplikasi Anda. Berikut panduan khusus tentang cara mencapainya:

Langkah 1: Instal Kafka Streams dan KafkaJS

Pertama, Anda perlu menginstal Kafka Streams dan KafkaJS untuk diintegrasikan Kafka ke dalam aplikasi Anda Node.js. Anda dapat menggunakan npm untuk menginstal paket-paket ini:

npm install kafka-streams kafkajs

Langkah 2: Buat a Kafka Stream

Buat Kafka Stream di aplikasi Anda Node.js menggunakan Kafka Streams API. Berikut adalah contoh dasar pembuatan Kafka Stream untuk memproses data dari satu topic dan mengeluarkan hasilnya ke yang lain topic:

const { KafkaStreams } = require('kafka-streams');  
const { Kafka } = require('kafkajs');  
  
const kafka = new Kafka({  
  clientId: 'your-client-id',  
  brokers: ['broker1:port1', 'broker2:port2'],  
});  
  
const kafkaStreams = new KafkaStreams({  
  kafka,  
  logLevel: 2, // Level 2 for debug logs  
});  
  
const streamConfig = {  
  'group.id': 'your-group-id',  
  'metadata.broker.list': 'broker1:port1,broker2:port2',  
  'enable.auto.commit': false,  
  'socket.keepalive.enable': true,  
};  
  
const stream = kafkaStreams.getKStream(streamConfig);  
  
stream  
  .from('input-topic')  
  .filter(record => record.value && record.value.length > 0)  
  .map(record =>({  
    key: record.key,  
    value: record.value.toUpperCase(),  
  }))  
  .to('output-topic');  
  
kafkaStreams.start();  

Langkah 3: Proses Data

Dalam contoh di atas, kami telah membuat Kafka Stream untuk mendengarkan data dari input-topic, lalu memproses data dengan mengonversi semuanya menjadi huruf besar dan memasukkan hasilnya ke output-topic.

Langkah 4: Jalankan Aplikasi

Terakhir, Anda perlu menjalankan Node.js aplikasi untuk mulai memproses data dari Kafka Streams.

Perhatikan bahwa dalam contoh di atas, Anda perlu mengganti nilai seperti your-client-id, broker1:port1, your-group-id, input-topic dan output-topic  dengan detail spesifik proyek Anda.

 

Mengintegrasikan Kafka Streams dengan Node.js aplikasi memungkinkan Anda membangun kemampuan pemrosesan data real-time secara fleksibel dan kuat.