Integracija Kafka Streams s Node.js aplikacijom moćan je način obrade i analize podataka izravno iz Apachea Kafka unutar Node.js okruženja. Kafka Streams omogućuje vam izradu obrade podataka u stvarnom vremenu i besprijekornu integraciju u vašu Node.js aplikaciju. Evo konkretnog vodiča o tome kako to postići:
Korak 1: Instalirajte Kafka Streams i KafkaJS
Prvo morate instalirati Kafka Streams i KafkaJS integrirati Kafka u svoju Node.js aplikaciju. Možete koristiti npm za instaliranje ovih paketa:
npm install kafka-streams kafkajs
Korak 2: Izradite a Kafka Stream
Stvorite Kafka Stream u svojoj Node.js aplikaciji pomoću Kafka Streams API-ja. Evo osnovnog primjera stvaranja Kafka Stream za obradu podataka iz jednog topic i ispis rezultata drugom 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();
Korak 3: Obradite podatke
U gornjem primjeru, stvorili smo Kafka Stream za slušanje podataka iz input-topic
, zatim obradili podatke pretvarajući sve u velika slova i gurajući rezultat u output-topic
.
Korak 4: Pokrenite aplikaciju
Konačno, morate pokrenuti svoju Node.js aplikaciju kako biste započeli obradu podataka iz Kafka Streams.
Imajte na umu da u gornjem primjeru trebate zamijeniti vrijednosti kao što su your-client-id
, i s određenim detaljima vašeg projekta. broker1:port1,
your-group-id
input-topic
output-topic
Integracija Kafka Streams s Node.js aplikacijom omogućuje vam fleksibilnu i moćnu izgradnju mogućnosti obrade podataka u stvarnom vremenu.