মন্টু মিয়াঁর সিস্টেম ডিজাইন
লোড ব্যালেন্সার

লোড ব্যালেন্সার আসলে কী?

সহজ কথায়, লোড ব্যালেন্সার হলো আপনার সার্ভারগুলোর সামনের 'ট্রাফিক পুলিশ' বা 'রিসেপশনিস্ট'

Load Balancer Traffic Police

ভাবুন তো, আপনি কোনো বড় কোম্পানির অফিসে গেলেন। আপনি কিন্তু সরাসরি সিইও-র রুমে ঢুকে যান না। প্রথমে রিসেপশনে যান। রিসেপশনিস্ট আপনার দরকার বুঝে আপনাকে নির্দিষ্ট অফিসারের কাছে পাঠিয়ে দেন।

সফটওয়্যার জগতেও ঠিক তাই ঘটে।

১. ইউজারের দৃষ্টিকোণ: বিড়ালটিউবের হাজার হাজার ইউজার শুধু একটি আইপি অ্যাড্রেস বা ডোমেইন চেনে, সেটি হলো লোড ব্যালেন্সারের ঠিকানা। তারা সবাই তাদের রিকোয়েস্ট (যেমন: ভিডিও দেখার আবদার) সেই এক ঠিকানাতেই পাঠায়।

২. লোড ব্যালেন্সারের কাজ: লোড ব্যালেন্সার সেই রিকোয়েস্টগুলো রিসিভ করে। তারপর তার পেছনে থাকা ১০টা সার্ভারের দিকে তাকায়। দেখে কোন সার্ভারটি এখন ফ্রি আছে বা কার ওপর চাপ কম। যে সার্ভারটি ফাঁকা পায়, তার কাছেই সে রিকোয়েস্টটি পাঠিয়ে দেয় (Forward করে)।

৩. রেসপন্স: সার্ভার কাজ শেষ করে উত্তরটা আবার লোড ব্যালেন্সারের কাছেই ফেরত পাঠায়, এবং লোড ব্যালেন্সার সেটা ইউজারের কাছে পৌঁছে দেয়।

ইউজার ঘুণাক্ষরেও টের পায় না যে ভেতরে ১০টা সার্ভার কাজ করছে, সে শুধু লোড ব্যালেন্সারকেই চেনে।

নোট: সার্ভার এবং ডাটাবেজের মাঝেও লোড ব্যালেন্সার থাকতে পারে, আবার একাধিক ব্যাকএন্ড সার্ভারের মাঝেও থাকতে পারে। তবে মন্টুর বিড়ালটিউব এখনো অত জটিল হয়নি, তাই আমরা আপাতত ফ্রন্টএন্ড লোড ব্যালেন্সিং নিয়েই মাথা ঘামাব।