
Load Balancers
লোড ব্যালেন্সার (Load Balancer) কী?
লোড ব্যালেন্সার হচ্ছে এমন একটি সার্ভার/সিস্টেম, যা ক্লায়েন্টদের রিকোয়েস্ট গ্রহণ করে সেগুলোকে এক বা একাধিক সার্ভারের মাঝে বুদ্ধিমত্তার সাথে ভাগ করে দেয়।
কেন লোড ব্যালেন্সার দরকার?
- প্রতিটি সার্ভার নির্দিষ্ট পরিমাণ রিকোয়েস্টই নিতে পারে। অতিরিক্ত রিকোয়েস্টে সার্ভার ধীরে কাজ করে বা ক্র্যাশ করে।
- ভার্টিক্যাল স্কেলিং (RAM, CPU, ডিস্ক বাড়ানো) সীমিত পর্যায়ে কাজ করে।
- তখন হরাইজন্টাল স্কেলিং (একই ধরনের একাধিক সার্ভার তৈরি করা) করতে হয়।
- এই একাধিক সার্ভারকে একসাথে চালাতে গেলে লোড ব্যালেন্সার লাগে—যা রিকোয়েস্টগুলোকে সঠিকভাবে ভাগ করে।
রিভার্স প্রক্সি vs লোড ব্যালেন্সার
- রিভার্স প্রক্সি এক ধরনের লোড ব্যালেন্সার—যেটা ক্লায়েন্টের রিকোয়েস্ট নিয়ে ব্যাকএন্ড সার্ভারে পাঠায়।
- অনেক সময় লোড ব্যালেন্সিং করার সময় একাধিক স্তরের (Tiered) লোড ব্যালেন্সার ব্যবহৃত হয়।
লোড ব্যালেন্সার স্ট্র্যাটেজিগুলো
লোড ব্যালেন্সার কোন সার্ভারে রিকোয়েস্ট পাঠাবে, সেটা নির্ধারণ করার জন্য বিভিন্ন স্ট্র্যাটেজি ব্যবহার করে:
- Round Robin: একে একে সব সার্ভারে পালাক্রমে রিকোয়েস্ট পাঠায়।
- Weighted Round Robin: সার্ভারগুলোর ওজন অনুযায়ী রিকোয়েস্ট বিতরণ করে (যেমন: বড় সার্ভার পায় বেশি রিকোয়েস্ট)।
- Random: রিকোয়েস্ট র্যান্ডমলি সার্ভারগুলোর মধ্যে ভাগ করে দেয়।
- Performance-based: কম লোডে থাকা বা শক্তিশালী সার্ভারকে বেশি রিকোয়েস্ট দেয়।
- IP-based / Path-based Routing: নির্দিষ্ট IP বা URL path অনুযায়ী নির্দিষ্ট সার্ভারে রিকোয়েস্ট পাঠানো হয়।
লোড ব্যালেন্সারের ধরন
ধরন | বর্ণনা | উদাহরণ |
---|---|---|
সফটওয়্যার লোড ব্যালেন্সার | সফটওয়্যার ভিত্তিক সমাধান | Nginx, HAProxy |
ক্লাউড বেসড লোড ব্যালেন্সার | ক্লাউড প্রোভাইডারের লোড ব্যালেন্সিং সার্ভিস | AWS ELB, Google Cloud Load Balancing |
হার্ডওয়্যার লোড ব্যালেন্সার | নির্দিষ্ট ডিভাইস যা শুধুমাত্র লোড ব্যালেন্সিং এর কাজ করে | F5, Cisco |