Master-Slave Configuration এবং Failover Mechanism

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

অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ) একটি শক্তিশালী মেসেজ ব্রোকার সিস্টেম যা উচ্চ পরিসরে পারফরম্যান্স এবং রিলায়েবিলিটি নিশ্চিত করতে বিভিন্ন কনফিগারেশন সমর্থন করে। এর মধ্যে Master-Slave Configuration এবং Failover Mechanism দুটি গুরুত্বপূর্ণ ফিচার, যা ব্রোকারের উচ্চ অ্যাভেইলেবিলিটি এবং স্কেলেবিলিটি নিশ্চিত করে।

Master-Slave Configuration

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

Master-Slave Configuration-এর বৈশিষ্ট্য

  1. Active-Passive Mode: মাষ্টার ব্রোকার সক্রিয়ভাবে কাজ করে, এবং স্লেভ ব্রোকার প্যাসিভ অবস্থায় থাকে। স্লেভ ব্রোকার শুধুমাত্র মাষ্টার ব্রোকারের ব্যর্থতা ঘটলে সক্রিয় হয়।
  2. Replication: মাষ্টার ব্রোকারের সমস্ত ডেটা এবং স্টেট স্লেভ ব্রোকারে রিপ্লিকেট (কপি) করা হয়, যাতে স্লেভ ব্রোকার মাষ্টারের ব্যর্থতার পর ডেটা হারানো না যায়।
  3. High Availability: এই কনফিগারেশন সিস্টেমে ফেইলওভার ক্ষমতা বৃদ্ধি করে, যাতে কোনও ব্রোকার ব্যর্থ হলে অন্যটি দ্রুত সেবা প্রদান করতে পারে।

Master-Slave কনফিগারেশন উদাহরণ

<broker xmlns="http://activemq.apache.org/schema/core"
        brokerName="localhost" dataDirectory="${activemq.data}">
    
    <!-- Master Configuration -->
    <persistenceAdapter>
        <kahaDB directory="${activemq.data}/kahadb"/>
    </persistenceAdapter>

    <!-- Master-Slave Replication Configuration -->
    <networkConnectors>
        <networkConnector uri="failover:(tcp://localhost:61616,tcp://localhost:61617)?randomize=false" />
    </networkConnectors>

    <transportConnectors>
        <transportConnector uri="tcp://localhost:61616"/>
    </transportConnectors>
    
</broker>

এখানে:

  • failover URI ব্যবহার করে মাষ্টার এবং স্লেভ ব্রোকারের মধ্যে সংযোগ স্থাপন করা হয়েছে।
  • randomize=false ব্যবহার করে ব্রোকারগুলোর মধ্যে কোনো রাউন্ড-রবিন ব্যালান্সিং হয় না, বরং মাষ্টার প্রথমে যোগাযোগ স্থাপন করবে।

Failover Mechanism

Failover Mechanism এমন একটি প্রক্রিয়া যার মাধ্যমে অ্যাকটিভএমকিউ মেসেজ ব্রোকার সিস্টেমে একটি ব্রোকার ব্যর্থ হলে অন্য ব্রোকার স্বয়ংক্রিয়ভাবে কার্যক্রম চালিয়ে যায়। Failover Mechanism অ্যাপাচি অ্যাকটিভএমকিউ-এ ডিস্ট্রিবিউটেড সিস্টেমে ব্রোকারের মধ্যে উচ্চ অ্যাভেইলেবিলিটি এবং রিলায়েবিলিটি নিশ্চিত করতে ব্যবহৃত হয়।

Failover Mechanism-এর বৈশিষ্ট্য

  1. Automatic Failover: যখন মাষ্টার ব্রোকারে কোনো সমস্যা ঘটে (যেমন সার্ভার ক্র্যাশ বা নেটওয়ার্ক বিভ্রাট), স্লেভ ব্রোকার স্বয়ংক্রিয়ভাবে মাষ্টারের স্থান গ্রহণ করে এবং সিস্টেমের কার্যক্রম অব্যাহত থাকে।
  2. Multiple Broker Connection: Failover URI কনফিগারেশন ব্যবহার করে একাধিক ব্রোকারের সাথে সংযোগ করা যায়, যাতে যদি এক ব্রোকার ব্যর্থ হয়, অন্যটি কার্যক্রম চালিয়ে যেতে পারে।
  3. Message Loss Prevention: মাষ্টার এবং স্লেভ ব্রোকারের মধ্যে ডেটা রিপ্লিকেশন বা ডুপ্লিকেট মেসেজ গ্রহণ করার মাধ্যমে মেসেজ হারানোর ঝুঁকি কমানো হয়।

Failover কনফিগারেশন উদাহরণ

<broker xmlns="http://activemq.apache.org/schema/core"
        brokerName="localhost" dataDirectory="${activemq.data}">
    
    <!-- Failover Configuration -->
    <transportConnectors>
        <transportConnector uri="failover:(tcp://localhost:61616,tcp://localhost:61617)?randomize=false"/>
    </transportConnectors>

    <persistenceAdapter>
        <kahaDB directory="${activemq.data}/kahadb"/>
    </persistenceAdapter>
    
</broker>

এখানে:

  • failover URI ব্যবহার করে একাধিক ব্রোকারের সাথে কানেকশন প্রতিষ্ঠিত হয়। যদি একটি ব্রোকার ব্যর্থ হয়, অন্যটি কার্যক্রম চালিয়ে যায়।
  • randomize=false কনফিগারেশন ব্যবহার করে প্রথমে একটি নির্দিষ্ট ব্রোকার (এমনকি যদি একাধিক ব্রোকার থাকে) নির্বাচন করা হয়।

Master-Slave এবং Failover Mechanism এর মধ্যে সম্পর্ক

  • Master-Slave Configuration এবং Failover Mechanism একসাথে কাজ করে। মাষ্টার ব্রোকার সাধারণত সক্রিয় থাকে এবং স্লেভ ব্রোকার অপেক্ষমাণ অবস্থায় থাকে। মাষ্টার ব্রোকারের ব্যর্থতার পর স্লেভ ব্রোকার তা গ্রহন করে এবং সিস্টেমের কার্যক্রম অব্যাহত রাখে।
  • এই কনফিগারেশন সিস্টেমের fault tolerance বৃদ্ধি করে, এবং সিস্টেমের মধ্যে কোনো ব্রোকার ব্যর্থ হলেও সম্পূর্ণ সিস্টেম চালু থাকে।

সারাংশ

  • Master-Slave Configuration: অ্যাকটিভএমকিউ-এ একাধিক ব্রোকারের মধ্যে কার্যক্রম ভাগ করা হয় যেখানে একটি মাষ্টার ব্রোকার সক্রিয়ভাবে কাজ করে এবং একটি স্লেভ ব্রোকার মাষ্টারের ব্যর্থতায় স্বয়ংক্রিয়ভাবে কাজ গ্রহণ করে।
  • Failover Mechanism: ব্রোকার ব্যর্থ হলে অন্য ব্রোকার স্বয়ংক্রিয়ভাবে তা গ্রহণ করে এবং সিস্টেমের কার্যক্রম অব্যাহত থাকে।
  • High Availability: এই কনফিগারেশন সিস্টেমে উচ্চ অ্যাভেইলেবিলিটি, ডেটা এক্সচেঞ্জ এবং সিস্টেম নির্ভরযোগ্যতা নিশ্চিত করে, যাতে মেসেজিং সিস্টেম চালু থাকে এবং কোনো সমস্যা হলে সিস্টেম পুনরায় সচল থাকে।
common.content_added_by
টপ রেটেড অ্যাপ

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

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

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