Integravimas Apache Kafka į Node.js projektą

Integravimas Apache Kafka į Node.js projektą leidžia kurti realaus laiko programas, kurios išnaudoja Kafkos duomenų apdorojimo galimybes. Štai pagrindinis vadovas, kaip integruoti Apache Kafka į Node.js projektą:

1 veiksmas: įdiekite Kafka biblioteką Node.js

Atidarykite terminalą savo Node.js projekto kataloge.

Vykdykite šią komandą, kad įdiegtumėte kafkajs biblioteką, Node.js biblioteką, skirtą Apache Kafka: npm install kafkajs.

2 veiksmas: parašykite kodą, kad galėtumėte bendrauti su Kafka Node.js

Importuokite kafkajs biblioteką į savo Node.js kodą:

const { Kafka } = require('kafkajs');

Apibrėžkite konfigūracijos parametrus Kafka Broker:

const kafka = new Kafka({  
  clientId: 'your-client-id',  
  brokers: ['broker1:port1', 'broker2:port2'], // Replace with actual addresses and ports  
});  

Norėdami siųsti pranešimus, sukurkite producer:

const producer = kafka.producer();  
  
const sendMessage = async() => {  
  await producer.connect();  
  await producer.send({  
    topic: 'your-topic',  
    messages: [{ value: 'Hello Kafka!' }],  
  });  
  await producer.disconnect();  
};  
  
sendMessage();  

Norėdami gauti pranešimus, sukurkite consumer:

const consumer = kafka.consumer({ groupId: 'your-group-id' });  
  
const consumeMessages = async() => {  
  await consumer.connect();  
  await consumer.subscribe({ topic: 'your-topic', fromBeginning: true });  
  
  await consumer.run({  
    eachMessage: async({ topic, partition, message }) => {  
      console.log(`Received message: ${message.value}`);  
    },  
  });  
};  
  
consumeMessages();  

 

Pastaba: pakeiskite tokias reikšmes kaip 'your-client-id', 'broker1:port1', 'your-topic' ir 'your-group-id' faktine projekto informacija.

Atminkite, kad integravimas Apache Kafka į Node.js gali būti sudėtingesnis, atsižvelgiant į jūsų konkrečius reikalavimus. Kad sužinotumėte daugiau apie konfigūravimo parinktis ir funkcijas, būtinai peržiūrėkite oficialią bibliotekos Apache Kafka ir bibliotekos dokumentaciją. kafkajs