Apache Kafka اندر کے ساتھ پیغامات بھیجنا اور وصول کرنا Node.js

مرحلہ 1: کے لیے کافکا لائبریری انسٹال کریں۔ Node.js

terminal اپنی Node.js پروجیکٹ ڈائرکٹری میں کھولیں ۔

لائبریری کو انسٹال کرنے کے لیے درج ذیل کمانڈ کو چلائیں kafkajs ، Node.js اس کے لیے ایک لائبریری Apache Kafka: npm install kafkajs.

Producer مرحلہ 2: اندر کے ساتھ پیغامات بھیجنا Node.js

لائبریری درآمد کریں kafkajs اور Kafka Broker ترتیب کی وضاحت کریں:

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

پیغامات بھیجنے کے لیے ایک بنائیں producer ، اور ایک کو پیغام بھیجیں topic:

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

مرحلہ 3: Consumer اندر کے ساتھ پیغامات وصول کرنا Node.js

لائبریری درآمد کریں kafkajs اور Kafka Broker ترتیب کی وضاحت کریں(اگر پہلے سے نہیں کیا گیا ہے):

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

consumer کسی مخصوص سے پیغامات وصول کرنے کے لیے ایک بنائیں topic:

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();  

نوٹ: قدروں کو تبدیل کریں جیسے 'your-client-id', 'broker1:port1', 'your-topic', اور 'your-group-id' اپنی اصل پروجیکٹ کی معلومات سے۔

اس بات کو یقینی بنائیں کہ ترتیب کے اختیارات اور افعال کے بارے میں مزید معلومات کے لیے لائبریری Apache Kafka کے آفیشل دستاویزات کا حوالہ دیں ۔ kafkajs