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.