Database Tutorials Sentinel দ্বারা Redis Cluster Management গাইড ও নোট

314

রেডিস সেন্টিনেল (Redis Sentinel) একটি অত্যন্ত গুরুত্বপূর্ণ এবং শক্তিশালী টুল যা রেডিস ক্লাস্টার পরিচালনা এবং তার সুরক্ষা নিশ্চিত করতে ব্যবহৃত হয়। এটি হাই অ্যাভেইলেবিলিটি (High Availability) এবং ফেইলওভার (Failover) এর জন্য ব্যবহৃত হয়, এবং রেডিসের সার্ভিসের পারফরম্যান্স ও স্থিতিশীলতা বজায় রাখতে সহায়তা করে। রেডিস সেন্টিনেল মূলত মাস্টার-স্লেভ রেপ্লিকেশন (Master-Slave Replication) ব্যবস্থার সাথে কাজ করে, এবং একটি সমস্যা হলে এটি অটোমেটিক্যালি মাস্টার নোডের রেপ্লিকা হিসেবে অন্য একটি নোডকে উত্থাপন করে।


Redis Sentinel ব্যবহারের উদ্দেশ্য

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

Redis Sentinel স্থাপন (Setup)

Redis Sentinel সেটআপ করতে আপনাকে প্রথমে Redis Cluster তৈরি করতে হবে, যেখানে কয়েকটি রেডিস সার্ভার থাকবে (এটি Master এবং Slave নোডের সাথে কাজ করবে)। এরপর, Redis Sentinel ইনস্টল এবং কনফিগার করতে হবে।


১. Redis Sentinel ইনস্টলেশন

Redis Sentinel রেডিসের অংশ হিসেবে আসে, তাই আপনাকে রেডিস ইনস্টল করতে হবে। তবে, সেন্টিনেল এর কনফিগারেশন আলাদা। নিচে রেডিস এবং সেন্টিনেল ইনস্টল করার নির্দেশিকা দেওয়া হলো:

  1. Redis ইনস্টলেশন:

    sudo apt-get update
    sudo apt-get install redis-server
    
  2. Sentinel কনফিগারেশন ফাইল তৈরি: রেডিসের sentinel.conf কনফিগারেশন ফাইলটি আলাদা থাকবে। এই ফাইলে সেন্টিনেলের জন্য বিভিন্ন সেটিংস কনফিগার করা হবে।

২. Redis Sentinel কনফিগারেশন

Redis Sentinel কনফিগারেশন ফাইল (sentinel.conf) এ কিছু গুরুত্বপূর্ণ সেটিংস রয়েছে, যা আপনাকে রেডিস ক্লাস্টার পরিচালনা করতে সাহায্য করবে। নিচে কিছু গুরুত্বপূর্ণ কনফিগারেশন প্যারামিটার উল্লেখ করা হলো:

1. sentinel monitor:

এটি সেন্টিনেলকে একটি মাস্টার নোড মনিটর করার নির্দেশ দেয়। এখানে মাস্টারের আইপি, পোর্ট, এবং সংখ্যাগত কনফিগারেশন উল্লেখ করতে হবে।

sentinel monitor mymaster 127.0.0.1 6379 2

এর মানে:

  • mymaster: মাস্টার নোডের নাম
  • 127.0.0.1: মাস্টার নোডের আইপি
  • 6379: মাস্টার নোডের পোর্ট
  • 2: কুইরামের (quorum) সংখ্যা, যার মানে হলো কমপক্ষে 2 সেন্টিনেল সিস্টেমকে মাস্টার হিসাবে নির্বাচিত করতে হবে।

2. sentinel down-after-milliseconds:

এই প্যারামিটারটি সেন্টিনেলকে নির্দেশ দেয়, মাস্টার নোড ডাউন হলে কত সময় পরে ফেইলওভার শুরু করবে।

sentinel down-after-milliseconds mymaster 10000

এর মানে হলো, 10 সেকেন্ড (10000 মিলিসেকেন্ড) পরে যদি মাস্টার নোডের কোনো উত্তর না পাওয়া যায়, তবে সেন্টিনেল ফেইলওভার শুরু করবে।

3. sentinel failover-timeout:

এটি নির্ধারণ করে যে ফেইলওভারের সময়কাল কত হতে হবে। যদি সেন্টিনেল নতুন মাস্টার নির্বাচন করতে 30 সেকেন্ড সময় নেয়, তবে:

sentinel failover-timeout mymaster 30000

4. sentinel parallel-syncs:

এটি নির্ধারণ করে কতগুলো স্লেভ একযোগে নতুন মাস্টারের সাথে সিঙ্ক্রোনাইজ হবে।

sentinel parallel-syncs mymaster 1

৩. Redis Sentinel চালানো

সেন্টিনেল কনফিগারেশন ফাইল তৈরি করার পর, সেন্টিনেল সার্ভারটি চালু করতে হবে। এই কমান্ডটি ব্যবহার করুন:

redis-server /path/to/sentinel.conf --sentinel

এটি সেন্টিনেলকে চালু করবে এবং এটি মনিটর করতে শুরু করবে।


৪. Redis Sentinel failover প্রক্রিয়া

যখন কোনো মাস্টার নোড ডাউন হয়ে যায় এবং সেন্টিনেল সেটিকে সঠিকভাবে চিনতে পারে, তখন এটি একটি নতুন মাস্টার নির্বাচিত করবে এবং স্লেভ নোডগুলিকে সেই নতুন মাস্টারের সাথে সিঙ্ক্রোনাইজ করবে। এই প্রক্রিয়াটি অটোমেটিক ফেইলওভার (Automatic Failover) নামে পরিচিত।

  1. নতুন মাস্টার নির্বাচিত হওয়া: সেন্টিনেল একটি স্লেভ নোডকে নতুন মাস্টার হিসেবে নির্বাচন করবে।
  2. স্লেভ সিঙ্ক্রোনাইজেশন: সেন্টিনেল স্লেভ নোডগুলিকে নতুন মাস্টারের সাথে সিঙ্ক্রোনাইজ করতে বলবে।
  3. ক্লায়েন্ট রিডাইরেকশন: ক্লায়েন্টদের নতুন মাস্টার নোডের দিকে রিডাইরেক্ট করা হবে।

৫. Sentinel ব্যবস্থাপনা এবং মনিটরিং

রেডিস সেন্টিনেল ক্লাস্টারকে মনিটর করতে, আপনি redis-cli ব্যবহার করে SENTINEL কমান্ডগুলো চালাতে পারেন।

  • SENTINEL masters: মাস্টার নোডের তালিকা দেখুন।

    SENTINEL masters
    
  • SENTINEL slaves: একটি নির্দিষ্ট মাস্টারের স্লেভ নোডগুলোর তালিকা দেখুন।

    SENTINEL slaves mymaster
    
  • SENTINEL failover: ম্যানুয়ালি ফেইলওভার শুরু করতে:

    SENTINEL failover mymaster
    

সারাংশ

  • Redis Sentinel হল একটি অত্যন্ত গুরুত্বপূর্ণ উপাদান যা রেডিস ক্লাস্টারের হাই অ্যাভেইলেবিলিটি এবং ফেইলওভার পরিচালনা করে।
  • সেন্টিনেল একটি মাস্টার নোডের কার্যক্রম মনিটর করে এবং যদি মাস্টার নোড ডাউন হয়, এটি একটি নতুন মাস্টার নির্বাচিত করে এবং সিস্টেমের পারফরম্যান্স বজায় রাখে।
  • সেন্টিনেল কনফিগারেশন ফাইলে বিভিন্ন সেটিংস (যেমন sentinel monitor, sentinel down-after-milliseconds, sentinel failover-timeout) ব্যবহার করে আপনি আপনার রেডিস ক্লাস্টারের কার্যক্রম কাস্টমাইজ করতে পারেন।
Content added By
Promotion

Are you sure to start over?

Loading...