Blog top image

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