Message Producers এবং Consumers এর ভূমিকা

Java Technologies - অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ) Apache ActiveMQ আর্কিটেকচার |
134
134

অ্যাপাচি অ্যাকটিভএমকিউ একটি মেসেজ ব্রোকার, যা বিভিন্ন অ্যাপ্লিকেশন বা সিস্টেমের মধ্যে তথ্য বা মেসেজ আদান-প্রদান করতে ব্যবহৃত হয়। এই প্রক্রিয়াতে Message Producers এবং Message Consumers গুরুত্বপূর্ণ ভূমিকা পালন করে। এই দুটি উপাদান একে অপরের সঙ্গে কাজ করে মেসেজিং সিস্টেমে তথ্য প্রেরণ এবং গ্রহণের কাজ সম্পন্ন করে।


Message Producers এর ভূমিকা

Message Producer হলো সেই কম্পোনেন্ট বা অ্যাপ্লিকেশন যা মেসেজ তৈরি করে এবং অ্যাকটিভএমকিউ ব্রোকারে পাঠায়। এই প্রক্রিয়া সাধারণত মেসেজ কিউ (Queue) বা টপিক (Topic) ব্যবহার করে সম্পন্ন হয়। একটি প্রোডিউসার কিউ বা টপিকে মেসেজ প্রেরণ করতে পারে এবং এভাবে ডাটা এক অ্যাপ্লিকেশন থেকে অন্য অ্যাপ্লিকেশনে প্রেরিত হয়।

Message Producer এর কাজের ধরন:

  1. মেসেজ তৈরি: প্রোডিউসার প্রথমে একটি মেসেজ তৈরি করে, যা তথ্য বা নির্দেশনা ধারণ করে।
  2. মেসেজ পাঠানো: প্রোডিউসার এই মেসেজটি কিউ বা টপিকে পাঠায়। এই প্রক্রিয়াতে মেসেজটি অ্যাকটিভএমকিউ সার্ভারে জমা হয়।
  3. অ্যাসিঙ্ক্রোনাস মেসেজিং: প্রোডিউসার মেসেজ পাঠানোর পর, এটি অ্যাসিঙ্ক্রোনাসভাবে কার্যকর হয়। অর্থাৎ, প্রোডিউসার মেসেজ পাঠানোর পর অপেক্ষা না করেই পরবর্তী কাজ শুরু করতে পারে।

উদাহরণ

import javax.jms.*;

public class MessageProducerExample {
    public static void main(String[] args) throws JMSException {
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
        Connection connection = connectionFactory.createConnection();
        connection.start();

        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        Destination destination = session.createQueue("TEST_QUEUE");

        MessageProducer producer = session.createProducer(destination);
        TextMessage message = session.createTextMessage("Hello, ActiveMQ!");

        producer.send(message);
        System.out.println("Message sent: " + message.getText());

        connection.close();
    }
}

উপরের উদাহরণে, প্রোডিউসার একটি টেক্সট মেসেজ তৈরি করে এবং সেটি কিউ "TEST_QUEUE"-এ পাঠাচ্ছে।


Message Consumers এর ভূমিকা

Message Consumer হলো সেই কম্পোনেন্ট বা অ্যাপ্লিকেশন যা মেসেজ গ্রহণ করে এবং প্রক্রিয়া করে। একটি কিউ বা টপিক থেকে মেসেজ সংগ্রহ করার পর, কনজিউমার সেই মেসেজের সাথে সম্পর্কিত কোনো নির্দিষ্ট কাজ সম্পন্ন করে। কনজিউমারের মূল উদ্দেশ্য হলো প্রোডিউসারের পাঠানো মেসেজ গ্রহণ এবং প্রক্রিয়াকরণ করা।

Message Consumer এর কাজের ধরন:

  1. মেসেজ গ্রহণ: কনজিউমার কিউ বা টপিক থেকে মেসেজ গ্রহণ করে।
  2. মেসেজ প্রক্রিয়া: কনজিউমার মেসেজটি গ্রহণ করার পর, মেসেজের মধ্যে থাকা ডেটা প্রক্রিয়া করে এবং প্রয়োজনীয় কাজটি সম্পন্ন করে।
  3. অ্যাসিঙ্ক্রোনাস কাজ: কনজিউমারও অ্যাসিঙ্ক্রোনাসভাবে কাজ করতে পারে। মেসেজ গ্রহণের পর কনজিউমার তা প্রক্রিয়া করার সময় অন্যান্য কাজ চালিয়ে যেতে পারে।

উদাহরণ

import javax.jms.*;

public class MessageConsumerExample {
    public static void main(String[] args) throws JMSException {
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
        Connection connection = connectionFactory.createConnection();
        connection.start();

        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        Destination destination = session.createQueue("TEST_QUEUE");

        MessageConsumer consumer = session.createConsumer(destination);

        Message message = consumer.receive();
        if (message instanceof TextMessage) {
            TextMessage textMessage = (TextMessage) message;
            System.out.println("Message received: " + textMessage.getText());
        }

        connection.close();
    }
}

উপরের উদাহরণে, কনজিউমার "TEST_QUEUE" থেকে মেসেজ গ্রহণ করে এবং সেটি প্রক্রিয়া করে।


Producers এবং Consumers এর পারস্পরিক সম্পর্ক

Producers এবং Consumers একসঙ্গে কাজ করে মেসেজিং সিস্টেমের কার্যকারিতা নিশ্চিত করতে। প্রোডিউসার যখন মেসেজ পাঠায়, তখন কনজিউমার সেই মেসেজ গ্রহণ করে এবং প্রক্রিয়া করে।

  • পাব-সাব (Publish-Subscribe) মডেল: একটি প্রোডিউসার একাধিক কনজিউমারকে মেসেজ পাঠাতে পারে। এখানে একাধিক গ্রাহক একই মেসেজ গ্রহণ করে, যেমন নিউজ বা প্রডাক্ট আপডেট।
  • কিউ-ভিত্তিক (Queue-based) মডেল: এখানে প্রতিটি কনজিউমার একটি নির্দিষ্ট মেসেজ গ্রহণ করে এবং সেটি প্রক্রিয়া করে। এই ক্ষেত্রে, কিউতে পাঠানো মেসেজটি শুধুমাত্র একমাত্র কনজিউমার দ্বারা গ্রহণ করা হয়।

সারাংশ

অ্যাপাচি অ্যাকটিভএমকিউ মেসেজিং সিস্টেমে Message Producers এবং Message Consumers দুটি গুরুত্বপূর্ণ উপাদান। প্রোডিউসার মেসেজ তৈরি করে এবং এটি অ্যাকটিভএমকিউ ব্রোকারে পাঠায়, যেখানে কনজিউমার সেই মেসেজ গ্রহণ করে এবং প্রক্রিয়া করে। এই প্রক্রিয়া অ্যাসিঙ্ক্রোনাসভাবে কার্যকরী হতে পারে, যার মাধ্যমে এক অ্যাপ্লিকেশন থেকে অন্য অ্যাপ্লিকেশনে দ্রুত এবং কার্যকরী তথ্য আদান-প্রদান নিশ্চিত হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion