HAProxy-এ কিভাবে কার্যকরী স্বাস্থ্য পরীক্ষা বাস্তবায়ন করা যায়

Haproxy E Kibhabe Karyakari Sbasthya Pariksa Bastabayana Kara Yaya



আপনার লোড ব্যালেন্সার হিসাবে কাজ করার জন্য আপনার HAProxy সেট আপ করা অসম্পূর্ণ যদি আপনি কার্যকর সার্ভার স্বাস্থ্য পরীক্ষা বিবেচনা না করেন। স্বাস্থ্য পরীক্ষাগুলি প্রয়োগ করা আবেদনের নির্ভরযোগ্যতা এবং প্রাপ্যতা উন্নত করতে সহায়তা করে। HAProxy স্বাস্থ্য পরীক্ষা বাস্তবায়নে সমর্থন করে যেগুলি ব্যাকএন্ড সার্ভারগুলি তাদের স্বাস্থ্যের অবস্থা ব্যবহারের জন্য উপযুক্ত কিনা তা নিশ্চিত করতে পরীক্ষা করে।

শুধুমাত্র যে সার্ভারগুলি স্বাস্থ্য পরীক্ষা পাস করে সেগুলি ঘূর্ণনে যোগ করা হয়। এইভাবে, একটি সার্ভার ব্যবহারের জন্য নির্বাচন করা হবে না যদি এটি স্বাস্থ্য পরীক্ষা পাস না করে, ডাউনটাইমের সম্ভাবনা কমিয়ে দেয়। এই পোস্ট জুড়ে, আমরা HAProxy-এ স্বাস্থ্য পরীক্ষাগুলি কীভাবে কাজ করে এবং একটি কার্যকর স্বাস্থ্য পরীক্ষা কার্যকর করতে কী লাগে তা বোঝার জন্য আমরা গভীরভাবে খনন করব। চল শুরু করি!

HAProxy-এ স্বাস্থ্য পরীক্ষাগুলি কী কী?

HAProxy কনফিগার করার সময়, একটি কাজ হল আপনার অ্যাপ্লিকেশনের জন্য কোন ব্যাকএন্ড সার্ভারগুলি ব্যবহার করতে হবে তা নির্দিষ্ট করা। এইভাবে, ট্র্যাফিক সার্ভারে বিতরণ করা হবে যাতে কোনও সার্ভার ওভারলোড না হয়। যাইহোক, স্বাস্থ্য পরীক্ষাগুলি নিশ্চিত করতে সাহায্য করে যে একটি সার্ভার শুধুমাত্র ট্র্যাফিক পরিচালনা করার জন্য নির্বাচন করা হয়েছে যদি এটি ঠিক থাকে।







প্রতিটি সার্ভারে স্বাস্থ্য পরীক্ষা করা হয় এবং লোড ব্যালেন্সিং-এ ব্যবহারের জন্য শুধুমাত্র যারা পাস করে তাদের রোটেশনে যোগ করা হয়। আপনার ব্যাকএন্ড সার্ভারে একটি পূর্বনির্ধারিত এন্ডপয়েন্টে TCP বা HTTP এর মতো অনুরোধ পাঠিয়ে স্বাস্থ্য পরীক্ষা করা হয়। ব্যাকএন্ড সার্ভার দ্বারা ফেরত পাঠানো স্বাস্থ্য ফলাফল তার স্থিতি নির্ধারণ করে। উদাহরণস্বরূপ, সার্ভারের স্ট্যাটাস উপরে বা নিচে দেখাতে পারে অথবা একটি ওকে 200 স্ট্যাটাস পাঠাতে পারে যা নিশ্চিত করে যে সার্ভারটি সুস্থ।



স্বাস্থ্য পরীক্ষা কনফিগার করার সময়, নিশ্চিত করুন যে আপনার স্বাস্থ্য পরীক্ষার জন্য ব্যবহার করার জন্য একটি পূর্বনির্ধারিত শেষ পয়েন্ট আছে। আপনার শেষ পয়েন্ট সেট আপ করতে আপনি ব্যবহার করতে পারেন যে বিভিন্ন বিকল্প আছে. উদাহরণস্বরূপ, আপনি সার্ভারের অবস্থার উপর নির্ভর করে একটি স্ট্যাটাস কোড বা বার্তা ফেরত দিতে পারেন। সমস্ত স্বাস্থ্য পরীক্ষা আপনার HAProxy কনফিগারেশন ফাইলের ব্যাকএন্ড বিভাগে সংজ্ঞায়িত করা হয়েছে। কনফিগার ফাইলটি খুলুন এবং আপনার ফ্রন্টএন্ড বিভাগ তৈরি করুন।



$ sudo nano /etc/haproxy/haproxy.cfg

এখানে একটি ফ্রন্টএন্ড বিভাগের একটি মৌলিক উদাহরণ যা পোর্ট 80 কে আবদ্ধ করে, একটি পরিসংখ্যান পৃষ্ঠা সেট করে এবং ডিফল্ট ব্যাকএন্ড নির্দিষ্ট করে।





পরবর্তী ধাপ হল ব্যাকএন্ড বিভাগ তৈরি করা। HAProxy-এ কীভাবে একটি কার্যকর স্বাস্থ্য পরীক্ষা বাস্তবায়ন করা যায় তার বিভিন্ন উদাহরণ নিচে দেওয়া হল।



উদাহরণ 1: কার্যকরী সক্রিয় স্বাস্থ্য পরীক্ষা বাস্তবায়ন করা

HAProxy-এ স্বাস্থ্য পরীক্ষা বাস্তবায়নের একটি সহজ উপায় হল সক্রিয় স্বাস্থ্য পরীক্ষা সেট করা। এই বিকল্পের সাহায্যে, HAProxy সার্ভারের সাথে সংযোগ করার চেষ্টা করবে। যদি কোন প্রতিক্রিয়া না পাঠানো হয়, তাহলে এটি সার্ভারটিকে অস্বাস্থ্যকর বলে মনে করে এবং এটি ঘূর্ণন থেকে সরিয়ে দেয়। সক্রিয় স্বাস্থ্য পরীক্ষাগুলি বাস্তবায়নের ডিফল্ট উপায় হল HAProxy-এর জন্য প্রতিটি সার্ভার লাইনে 'চেক' কীওয়ার্ড যোগ করে সেগুলি পরীক্ষা করা।

যদিও এই প্রথম উদাহরণটি কাজ করে, এটি স্বাস্থ্য পরীক্ষা বাস্তবায়নের সর্বোত্তম উপায় নয়। এছাড়াও, এটি ডিফল্ট সেটিংস ব্যবহার করে। উদাহরণস্বরূপ, চেকের মধ্যে ব্যবধান, ইন্টার হিসাবে চিহ্নিত, দুই সেকেন্ডে সেট করা হয়েছে। পতন, অনুমোদিত ব্যর্থ চেকের সংখ্যা, তিনটি সেট করা হয়েছে। এই সেটিংস সামঞ্জস্য করতে, নিম্নলিখিত উদাহরণে দেখানো পছন্দের আন্তঃসময় এবং চেকের সংখ্যা উল্লেখ করুন:

উদাহরণ 2: একটি HTTP স্বাস্থ্য পরীক্ষা বাস্তবায়ন

একটি HTTP স্বাস্থ্য পরীক্ষার মাধ্যমে, HAProxy 'চেক' কীওয়ার্ড সহ সমস্ত সার্ভারে একটি HTTP অনুরোধ পাঠাবে। প্রতিক্রিয়ার উপর ভিত্তি করে, এটি সার্ভারের স্থিতি শেষ করে। সফল সার্ভার প্রতিক্রিয়ার উদাহরণ 2xx বা 3xx এর মধ্যে পড়ে। একটি প্রতিক্রিয়া যেমন 200 ওকে মানে সার্ভারটি একটি ভাল অবস্থায় রয়েছে৷

এই উদাহরণের জন্য, আপনার ব্যাকএন্ডে 'অপশন httpchk' লাইন যোগ করুন।

উদাহরণ 3: একটি GET অনুরোধের সাথে কাজ করা

একটি HTTP অনুরোধ করার সময় HAProxy '/' পাথে একটি GET অনুরোধ পাঠায়। যাইহোক, যদি আপনার এন্ডপয়েন্ট অন্য পাথে কনফিগার করা থাকে, তাহলে আপনি URL পাথ যেমন “/health” নির্দিষ্ট করতে পারেন এবং HAProxy এতে GET অনুরোধ পাঠাবে।

আপনার শেষ পয়েন্টের উপর ভিত্তি করে, সার্ভার সার্ভারের স্থিতি নির্ধারণ করতে প্রতিক্রিয়া ব্যবহার করবে। এটি কীভাবে বাস্তবায়ন করা যায় তা এখানে:

উদাহরণ 4: একটি GET অনুরোধের পথ এবং প্রতিক্রিয়া স্থিতি নির্দিষ্ট করা

একটি এন্ডপয়েন্টের মাধ্যমে, সার্ভারের স্থিতি নির্ধারণের জন্য এন্ডপয়েন্ট GET অনুরোধ থেকে কী সফল প্রতিক্রিয়া আশা করা যায় তা আপনি উল্লেখ করতে পারেন। এই উদাহরণের জন্য, আমাদের GET অনুরোধের পথ হল '/স্বাস্থ্য', এবং আমরা 200 প্রতিক্রিয়ার স্থিতি আশা করি যাতে নিশ্চিত করা যায় যে সার্ভারটি লোড ব্যালেন্সিং এবং অন্যান্য কাজগুলি পরিচালনা করার জন্য ভাল স্বাস্থ্যে আছে।

একবার আপনি আপনার HAProxy কনফিগারেশন ফাইলটি পরিবর্তন করলে, পরিবর্তনগুলি কার্যকর হওয়ার জন্য HAProxy পুনরায় চালু করুন।

এটাই! আপনি আপনার HAProxy-এ কার্যকর স্বাস্থ্য পরীক্ষা বাস্তবায়ন করেছেন। আপনি পরিসংখ্যান পৃষ্ঠা অ্যাক্সেস করতে পারেন বা স্বাস্থ্য পরীক্ষাগুলি প্রত্যাশিত হিসাবে কাজ করছে তা নিশ্চিত করতে নিম্নলিখিত কমান্ড দিয়ে লগ ফাইলটি পরীক্ষা করতে পারেন:

$tail -f /var/log/haproxy.log

উপসংহার

আপনি বিভিন্ন উপায়ে HAProxy-এ একটি কার্যকর স্বাস্থ্য পরীক্ষা বাস্তবায়ন করতে পারেন। স্বাস্থ্য পরীক্ষাগুলি HAProxy কনফিগারেশন ফাইলের ব্যাকএন্ড বিভাগে প্রয়োগ করা হয়েছে, এবং এই পোস্টটি কীভাবে এটি সম্পর্কে যেতে হবে তার বিভিন্ন উদাহরণ দিয়েছে। আপনার আদর্শ পদ্ধতি পরীক্ষা করুন এবং HAProxy-এ একটি কার্যকর স্বাস্থ্য পরীক্ষা কার্যকর করুন।