Load balancing โ bu kelgan trafikni bir nechta server o'rtasida taqsimlash mexanizmidir. Bir server uchun ortiq bo'lgan yuklamani 2, 3, 10 yoki yuzlab server'lar o'rtasida bo'lishtirish. Bu uptime'ni oshiradi (bir server yiqilsa, boshqalar ishlashda davom etadi) va performance'ni yaxshilaydi (har server kamroq yuk oladi).
Load balancing turlari
Round Robin โ har yangi so'rov navbatdagi server'ga. Eng oddiy va keng tarqalgan.
Least Connections โ eng kam ulanish bilan server'ga so'rov yuborish. Aniqroq, lekin biroz murakkab.
IP Hash โ foydalanuvchining IP manziliga asoslangan tanlov. Bir foydalanuvchi har doim bir server bilan ishlaydi (session continuity uchun).
Weighted โ har server uchun og'irlik (kuchliroq serverga ko'proq trafik).
Geographic โ foydalanuvchining joylashuviga eng yaqin server tanlash.
Load balancer turlari
Software load balancer โ Nginx, HAProxy, Apache mod_proxy. Bepul, server kerak, lekin moslashuvchan.
Hardware load balancer โ F5, Citrix NetScaler. Yuqori narx, lekin yuqori performance.
Cloud load balancer โ AWS ELB (Elastic Load Balancer), Google Cloud Load Balancing, Azure Load Balancer. Managed, pay-as-you-go, oson sozlash.
Nginx bilan load balancing misol
Eng oddiy konfiguratsiya:
upstream backend {
server backend1.kompaniyam.uz weight=5;
server backend2.kompaniyam.uz weight=3;
server backend3.kompaniyam.uz weight=2;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
Bu konfiguratsiyada backend1 5/10 trafik, backend2 3/10, backend3 2/10 oladi.
Session persistence
Foydalanuvchi sessiyalari bir server'da saqlanadi. Agar har so'rov boshqa server'ga ketsa, foydalanuvchi log out qiladi. Yechimlar: (1) IP Hash โ bir foydalanuvchi doim bir server bilan. (2) Sticky session โ load balancer foydalanuvchini ma'lum bir serverga "yopishtirib qo'yadi". (3) Centralized session storage โ sessiyalar Redis yoki database'da, har server'dan kirish mumkin.
Health check
Load balancer har 5-30 sekundda har server bilan health check qiladi (HTTP request /health endpoint'ga). Agar server yiqilsa, trafik avtomatik boshqa serverlarga yo'naltiriladi. Bu high availability uchun asosiy.
Sayt.uz amaliyot
Sayt.uz mijozlarining 2% load balancing ishlatadi โ asosan yirik e-commerce va SaaS startaplar. Sayt.uz infrastrukturasi o'zi ham load balancing ishlatadi (4 ta application server, HAProxy bilan). Mijozlar uchun load balancing setup VPS Pro yoki Dedicated tariflarda taklif qilamiz (custom konfiguratsiya). Maslahat: load balancing kichik saytlar uchun keraksiz overhead. 10,000+ daily active users dan keyin mantiqli bo'la boshlaydi.