Integracija Kafka Streams sa Node.js

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.