ActiveMQ Cluster Configuration

Java Technologies - অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ) Clustering এবং High Availability |
176
176

ActiveMQ Cluster কনফিগারেশন একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ)-কে একটি ডিস্ট্রিবিউটেড, স্কেলেবল এবং হাই অ্যাভেইলেবিলিটি (High Availability) সিস্টেম তৈরি করতে সাহায্য করে। একটি ক্লাস্টার তৈরি করার মাধ্যমে, আপনি একাধিক অ্যাকটিভএমকিউ সার্ভারকে সংযুক্ত করতে পারেন, যা মেসেজ ডেলিভারি, স্টোরেজ এবং ব্রোকার ফেইলওভারকে আরও স্থিতিশীল এবং স্কেলেবল করে তোলে। ক্লাস্টার কনফিগারেশন এর মাধ্যমে আপনি অ্যাপাচি অ্যাকটিভএমকিউ ব্রোকারের পারফরম্যান্স এবং রিলায়েবিলিটি উন্নত করতে পারবেন।

ActiveMQ Cluster এর প্রধান সুবিধাসমূহ

  • হাই অ্যাভেইলেবিলিটি: একাধিক ব্রোকার একে অপরের সাথে সংযুক্ত থাকলে, একটি ব্রোকার ফেইল করলে অন্য ব্রোকার কাজ চালিয়ে যেতে পারে।
  • লোড ব্যালান্সিং: ক্লাস্টার একাধিক ব্রোকারের মধ্যে লোড শেয়ার করে, যার ফলে সার্ভার লোড কমে যায় এবং স্কেলেবিলিটি বৃদ্ধি পায়।
  • ডিস্ট্রিবিউটেড স্টোরেজ: মেসেজ ডেটা এবং কিউগুলির ডিস্ট্রিবিউশন সম্ভব হয়, যা অ্যাপ্লিকেশনকে অধিক সক্ষম এবং স্থিতিশীল করে তোলে।

ActiveMQ Cluster কনফিগারেশন

ActiveMQ ক্লাস্টার কনফিগারেশন মূলত দুটি পদ্ধতিতে করা যেতে পারে: Network of Brokers এবং Shared Store (Master-Slave)


১. Network of Brokers Configuration (নেটওয়ার্ক অব ব্রোকার্স)

Network of Brokers কনফিগারেশন হল একাধিক ActiveMQ ব্রোকারের মধ্যে মেসেজ রিলেয়িং (message relaying) সিস্টেম, যেখানে ব্রোকারগুলি একে অপরের সাথে যোগাযোগ করতে পারে এবং মেসেজ শেয়ার করতে পারে। এই পদ্ধতিতে একাধিক ব্রোকারের মধ্যে মেসেজের আদান-প্রদান করা হয়, এবং এটি ব্রোকার ফেইলওভার সাপোর্ট করে।

কনফিগারেশন:

নেটওয়ার্ক অব ব্রোকার্স কনফিগার করতে, networkConnectors ব্যবহার করতে হবে। এখানে একটি উদাহরণ দেওয়া হলো:

Example: activemq.xml কনফিগারেশন
<broker xmlns="http://activemq.apache.org/schema/core"
        brokerName="broker1"
        dataDirectory="data">
    <!-- Network connector configuration -->
    <networkConnectors>
        <!-- Connecting to another broker (e.g., broker2) -->
        <networkConnector name="bridge1" uri="static:(tcp://localhost:61617)" />
    </networkConnectors>

    <!-- Queue and Topic configurations -->
    <destinationPolicy>
        <policyMap>
            <policyEntries>
                <policyEntry queue=">" memoryLimit="1gb" />
            </policyEntries>
        </policyMap>
    </destinationPolicy>
</broker>

এখানে:

  • networkConnector: এটি অন্য ব্রোকারের সাথে সংযোগ স্থাপন করতে ব্যবহৃত হয়। uri="static:(tcp://localhost:61617)" এই লাইনটি ব্রোকার1 কে ব্রোকার2 এর সাথে সংযুক্ত করে।
  • uri: এই প্যারামিটারটি দ্বিতীয় ব্রোকারের লোকেশন নির্ধারণ করে। এখানে tcp://localhost:61617 হল ব্রোকার2 এর অ্যাড্রেস।

Network of Brokers ব্যবহারের সুবিধা:

  • ফেইলওভার সমর্থন: যদি একটি ব্রোকার ফেইল করে, তাহলে অন্য ব্রোকার স্বাভাবিকভাবে মেসেজ প্রক্রিয়া চালিয়ে যেতে পারে।
  • লোড শেয়ারিং: এটি বিভিন্ন ব্রোকারের মধ্যে মেসেজ শেয়ার করে, যা সিস্টেমের পারফরম্যান্স উন্নত করে।

২. Shared Store (Master-Slave) Configuration

Shared Store কনফিগারেশন মূলত Master-Slave কনফিগারেশন পদ্ধতি অনুসরণ করে, যেখানে একটি Master ব্রোকার এবং এক বা একাধিক Slave ব্রোকার থাকে। মেসেজ এবং কিউগুলির ডেটা মাষ্টার ব্রোকারে সঞ্চিত থাকে এবং স্লেভ ব্রোকারগুলোকে এই ডেটা শেয়ার করার জন্য কনফিগার করা হয়।

কনফিগারেশন:

persistenceAdapterKahaDB বা JDBC ব্যবহার করে Master-Slave ক্লাস্টার কনফিগার করতে পারেন।

Example: activemq.xml (Master-Slave Configuration)
<broker xmlns="http://activemq.apache.org/schema/core"
        brokerName="master-broker"
        dataDirectory="data">
    
    <!-- PersistenceAdapter configuration for Shared Store -->
    <persistenceAdapter>
        <kahaDB directory="data/kahadb" />
    </persistenceAdapter>

    <masterSlave>
        <slave>
            <brokerUrl>tcp://slave-broker:61616</brokerUrl>
            <persistent>true</persistent>
        </slave>
    </masterSlave>
    
</broker>

এখানে:

  • masterSlave: এটি Master-Slave কনফিগারেশন নির্ধারণ করে। এই কনফিগারেশনে, একটি Master ব্রোকার থাকবে এবং এক বা একাধিক Slave ব্রোকার থাকবে।
  • brokerUrl: এটি স্লেভ ব্রোকারের URL নির্ধারণ করে, যেখানে ব্রোকারটি ডেটা শেয়ার করবে।

Master-Slave ব্যবহারের সুবিধা:

  • হাই অ্যাভেইলেবিলিটি: যদি মাষ্টার ব্রোকার ফেইল করে, স্লেভ ব্রোকারটি মাষ্টার হিসেবে কাজ শুরু করবে।
  • ডাটা রিকভারি: স্লেভ ব্রোকার ডেটার ব্যাকআপ হিসেবে কাজ করে, যাতে কোনো ডাটা লস না হয়।

৩. Multicast Network Connector (মাল্টিকাস্ট নেটওয়ার্ক কানেক্টর)

মাল্টিকাস্ট নেটওয়ার্ক কানেক্টর ব্যবহৃত হয় যেখানে একাধিক ActiveMQ ব্রোকার একই নেটওয়ার্কে মেসেজ শেয়ার করতে চায় এবং মাল্টিকাস্টিং প্রযুক্তি ব্যবহার করে।

কনফিগারেশন:

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="broker1">
    <networkConnectors>
        <networkConnector name="multicast" uri="multicast://default?multicastGroup=239.0.0.1"/>
    </networkConnectors>
</broker>

এখানে:

  • uri="multicast://default?multicastGroup=239.0.0.1": মাল্টিকাস্ট ব্রোকারগুলোর মধ্যে যোগাযোগের জন্য ব্যবহার করা হয়।

সারাংশ

ActiveMQ Cluster Configuration অ্যাপাচি অ্যাকটিভএমকিউ কে একটি স্কেলেবল, হাই অ্যাভেইলেবিলিটি এবং ডিস্ট্রিবিউটেড সিস্টেমে রূপান্তরিত করে। এটি Network of Brokers এবং Shared Store (Master-Slave) কনফিগারেশন পদ্ধতির মাধ্যমে একাধিক ব্রোকারকে সংযুক্ত করে। নেটওয়ার্ক অব ব্রোকার্স ক্লাস্টার মেসেজ রিলেয়িং সিস্টেম হিসেবে কাজ করে এবং Master-Slave কনফিগারেশন ডেটার হাই অ্যাভেইলেবিলিটি নিশ্চিত করে।

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

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

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

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