โš–๏ธ
Hosting

Load balancing asoslari: yuqori trafikli saytlar uchun bir necha server

30.07.2031
โ† Barcha maqolalar

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.

O'xshash maqolalar

๐Ÿ’ฐ Hosting narx taqqoslash: O'zbekistondagi va xalqaro provider'lar ๐Ÿ“ก Server monitoring vositalari: Prometheus, Grafana, Datadog va boshqalar ๐ŸŒ Edge computing hosting: hisoblashni foydalanuvchiga yaqinlashtirish ๐Ÿข Colocation server: o'z hardware'ingizni data center'da joylash
๐ŸŒ Til
๐Ÿ‡บ๐Ÿ‡ฟ O'zbek โœ“ ๐Ÿ‡บ๐Ÿ‡ฟ ะŽะทะฑะตะบ ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน ๐Ÿ‡ฌ๐Ÿ‡ง English