Load Balancer
লোড ব্যালান্সার
Incoming traffic একাধিক backend-এ distribute করে — একটা overload আর একটা fail-এ পুরো service down, দুটোই আটকায়।
Backend পাঁচটা, traffic এক জায়গায় ঢলে; distribute না করলে একটা পুড়ে মরে বাকিরা অলস। Load balancer এক virtual IP-র পেছনে পুরো fleet লুকিয়ে রাখে।
L4 বনাম L7
| L4 | L7 | |
|---|---|---|
| দেখে | IP + port (flow) | HTTP path/header/cookie |
| সিদ্ধান্ত | NAT/hash, দ্রুত | routing, caching, rewrite |
| উদাহরণ | cloud NLB, IPVS | nginx, HAProxy, ALB |
Algorithm
- Round robin — সমান ভাগ
- Least connections — request-এর ওজন ভিন্ন হলে ভালো
- Consistent hashing — cache hit বাঁচায়, node গেলেও minimal remap
Health check — periodic probe; backend fail করলে pool থেকে drain — user বুঝতেই পারে না কে মরল। Sticky session cookie দিয়ে stateful app চালানো যায়, যদিও আসল সমাধান stateless backend।
upstream api {
least_conn;
server app1:8080 weight=2;
server app2:8080;
}