লোড ব্যালেন্সিং এর মাধ্যমে বউয়ের হাত খরচ কমান!

07 ডিসেম্বর 2021

tusharhow

Tushar R Ahmed

লোড ব্যালেন্সিং এর মাধ্যমে বউয়ের হাত খরচ কমান!

পুরো বিষয়টা এমন যে, আপনি যেহেতু আপনার স্ত্রীর একমাত্র স্বামী সেহেতু আপনি ছাড়া আর কারো পকেট ফাঁকা হওয়ার সম্ভাবনা নেই। আচ্ছা এমন হলে কেমন হয়, যেখানে আপনার পকেটের উপরে সম্পূর্ণ প্রেশারটা না দিয়ে বউয়ের ৫০% খরচ আপনি আপনি দিলেন বাকি ৫০% দিলো শ্বশুর। পুরো বিষয়টাকে আমরা লোড ব্যালেন্সিং বলতে পারি।

আমরা যারা DevOps নিয়ে কাজ করি বা সার্ভারে ওয়েব এপ্লিকেশন হোস্ট করি তাদের কাছে Load Balancing (লোড ব্যালেন্সিং) টার্ম টা খুব পরিচিত। যদি লোড ব্যালেন্সিং না থাকে তাহলে নরমালি ইউজার (URL) ইউআরএলে রিকুয়েস্ট করে তখন আমাদের ওয়েব সার্ভার যেই সার্ভারে ইন্সটল থাকে সেখান থেকে রিকুয়েস্ট টা সার্ভ হয়।

যখন লোড ব্যালেন্সিং ব্যাপারটা আসে তখন কিন্তু সার্ভার একটা থাকে না। সার্ভার একাধিক থাকতে পারে। তারা একদম সেইম কপি হয় একটা আরেকটার। এবং এদের সামনে একটা লোড ব্যালেন্সার থাকে। আমাদের কোন ইউজার যখন ওয়েবসাইট রিকুয়েস্ট করে তখন সেই রিকুয়েস্ট টা প্রথমে যায় লোড ব্যালেন্সার এর কাছে। লোড ব্যালেন্সার এই পে-লোড টা আমাদের যতগুলো ওয়েব সার্ভার আছে তাদের কাছে পাঠায়। এরপর তাদের যেকোনো একটা সার্ভার রিকুয়েস্ট টা রিসিভ করে আবার লোড ব্যালেন্সার এর কাছে পাঠিয়ে দেয়।

প্রথমে আমরা যখন একটা সার্ভারের কথা বলেছিলাম তখন সব রিকুয়েস্ট সে একাই হ্যান্ডেল করতো। এখন আমাদের কাছে যদি ৪ টা সার্ভার থাকে তাহলে প্রত্যেকটা সার্ভার ২৫% করে রিকুয়েস্ট হ্যান্ডেল করবে। এটাই হচ্ছে লোড ব্যালেন্সিং।

লোড ব্যালেন্সিং বিভিন্নভাবে হতে পারে। রাউন্ড রবিন এর মাধ্যমে হতে পারে। ধরুন আপনার চারটা সার্ভার আছে। একেকবার একেকটা সার্ভারে রিকুয়েস্ট যাবে। প্রথম রিকুয়েস্ট যাবে সার্ভার ওয়ানে তারপর যাবে ২য় নাম্বার সার্ভারে। এভাবে চলতে থাকবে। এটাকে বলে রাউন্ড রবিন স্টাইল। আরেকটা মাধ্যম হচ্ছে হেলথ চেকের মাধ্যমে। সার্ভারের হেলথ যদি খারাপ থাকে তাহলে রিকুয়েস্ট সেই সার্ভারে যাবে না। তখন বাকি সার্ভার গুলোতে রিকুয়েস্ট যাবে। আরেকটা মাধ্যম হচ্ছে ওয়েট বেইজড। ধরুন কোন পাওয়ারফুল সার্ভারে যদি ওয়েট বাড়িয়ে দেই তখন প্রথম রিকুয়েস্ট টা যাবে সেই সার্ভারে। পরে ক্রমানুসারে বাকি দুর্বল সার্ভারগুলোতে রিকুয়েস্ট যাবে।

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