Mengintegrasikan Kafka Streams dengan Node.js

Penyepaduan Kafka Streams dengan Node.js aplikasi ialah cara yang berkuasa untuk memproses dan menganalisis data terus daripada Apache Kafka dalam Node.js persekitaran. Kafka Streams membolehkan anda membina pemprosesan data masa nyata dan menyepadukannya dengan lancar ke dalam Node.js aplikasi anda. Berikut ialah panduan khusus tentang cara untuk mencapai ini:

Langkah 1: Pasang Kafka Streams dan KafkaJS

Pertama, anda perlu memasang Kafka Streams dan KafkaJS untuk disepadukan Kafka ke dalam aplikasi anda Node.js. Anda boleh menggunakan npm untuk memasang pakej ini:

npm install kafka-streams kafkajs

Langkah 2: Buat a Kafka Stream

Cipta Kafka Stream dalam aplikasi anda Node.js menggunakan Kafka Streams API. Berikut ialah contoh asas mencipta Kafka Stream untuk memproses data daripada satu topic dan mengeluarkan hasilnya kepada 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 mencipta Kafka Stream untuk mendengar data daripada input-topic, kemudian memproses data dengan menukar semuanya kepada huruf besar dan menolak hasilnya ke output-topic.

Langkah 4: Jalankan Aplikasi

Akhir sekali, anda perlu menjalankan Node.js aplikasi anda untuk mula memproses data daripada Kafka Streams.

Ambil perhatian bahawa dalam contoh di atas, anda perlu menggantikan nilai seperti your-client-id, broker1:port1, your-group-id, input-topic dan output-topic  dengan butiran khusus projek anda.

 

Penyepaduan Kafka Streams dengan Node.js aplikasi membolehkan anda membina keupayaan pemprosesan data masa nyata secara fleksibel dan berkuasa.