Integruojant Kafka Streams su Node.js

Integravimas Kafka Streams su Node.js programa yra galingas būdas apdoroti ir analizuoti duomenis tiesiogiai iš Apache Kafka aplinkoje Node.js. Kafka Streams leidžia sukurti duomenų apdorojimą realiuoju laiku ir sklandžiai integruoti juos į savo Node.js programą. Štai konkretus vadovas, kaip tai pasiekti:

1 veiksmas: įdiekite Kafka Streams ir KafkaJS

Pirmiausia turite įdiegti Kafka Streams ir KafkaJS integruoti Kafka į Node.js programą. Norėdami įdiegti šiuos paketus, galite naudoti npm:

npm install kafka-streams kafkajs

2 veiksmas: sukurkite a Kafka Stream

Sukurkite Kafka Stream savo Node.js programoje naudodami Kafka Streams API. Štai pagrindinis pavyzdys, kaip sukurti Kafka Stream duomenis, kad apdorotų duomenis iš vieno topic ir išvestų rezultatą į kitą 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();  

3 veiksmas: apdorokite duomenis

Aukščiau pateiktame pavyzdyje sukūrėme Kafka Stream klausytis duomenų iš input-topic, tada apdorojome duomenis konvertuodami juos į didžiąsias raides ir perkeldami rezultatą į output-topic.

4 veiksmas: paleiskite programą

Node.js Galiausiai, norėdami pradėti apdoroti duomenis iš, turite paleisti programą Kafka Streams.

Atkreipkite dėmesį, kad anksčiau pateiktame pavyzdyje turite pakeisti tokias reikšmes kaip your-client-id, broker1:port1, your-group-id, input-topic ir output-topic  konkrečiomis projekto detalėmis.

 

Integravimas Kafka Streams su Node.js programa leidžia lanksčiai ir efektyviai sukurti duomenų apdorojimo realiuoju laiku galimybes.