Load balancer: কী কাজ করে ও algorithm বাছাই
Load balancer আপনার server-গুলোর সামনে বসে traffic ভাগ করে দেয়। L4 বনাম L7, মূল algorithm এবং health check কীভাবে মৃত server থেকে user-কে বাঁচায়, জানুন।

Load balancer আসা request ধরে একটি করে backend server-এ পাঠায়। এতে ক্ষমতা বাড়ে, আর কোনো server নষ্ট হলে user তা টের পায় না।
Layer 4 বনাম Layer 7
- L4 (transport): শুধু IP আর port দেখে সিদ্ধান্ত নেয়। খুব দ্রুত ও সহজ, কিন্তু request-এর ভেতরে দেখতে পারে না।
- L7 (application): HTTP request পড়ে, তাই path (
/apiবনাম/images), host বা header অনুযায়ী route করতে পারে, TLS শেষ করতে পারে, cache দিতে পারে। Nginx, HAProxy, Envoy আর cloud-এর application load balancer এখানে কাজ করে।
জনপ্রিয় algorithm
- Round robin: server-রা পালা করে। সব request-এর খরচ কাছাকাছি হলে ভালো।
- Weighted round robin: বড় server বেশি পায়।
- Least connections: সবচেয়ে কম সক্রিয় request-এর server-এ পাঠায়। Request-এর দৈর্ঘ্য আলাদা হলে ভালো।
- IP hash / consistent hash: একই client একই server-এ যায়। Cache ও sticky আচরণের জন্য কাজের।
Health check
Balancer প্রতিটি server-কে ping করে (যেমন GET /health), ব্যর্থ হলে তুলে রাখে, ঠিক হলে ফেরত আনে। এটি না থাকলে user মৃত server-এ গিয়ে পড়ে।
Sticky session
একই user-কে একই server-এ পাঠালে memory-র session কাজ করে, কিন্তু load অসম হয় আর ওই server মরলে সব ভাঙে। বরং stateless server রাখুন, session থাকুক Redis বা token-এ।
Balancer নিজে
একটিমাত্র load balancer নিজেই single point of failure। দুটি চালান (active/passive বা active/active), সাথে shared IP বা DNS, অথবা cloud-এর managed সেবা নিন।
মূল কথা: ওয়েব অ্যাপে L7 নিন, round robin বা least connections দিয়ে শুরু করুন, health check অবশ্যই দিন, আর একা একটি balancer ফেলে রাখবেন না।
System Design সিরিজের 4 নম্বর পর্ব (মোট ১৫)। আগের পর্ব: CAP theorem: সহজ ভাষায়, উদাহরণসহ.


