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