Load balancer nima uchun kerak ?
Assalamu Alaykum bugun load balancer nima uchun kerakligi bizga qanday foyda berishi va unining qanday turlari borligini bilib olamiz.
Load balancer nima uchun kerak ?
Assalamu Alaykum bugun load balancer nima uchun kerakligi bizga qanday foyda berishi va unining qanday turlari borligini bilib olamiz.
Ushbu maqolalarni bu maqoladan oldin o`qishni tavsiya qilaman:
Load balancer qanday ishlaydi ?
Load balancer serverlar oldida turib sorovlarni foydalanuvchilardan qabul qiladi va undagi algoritmga qarab qaysi server bunga javob berishini aniqlaydi va shu serverga sorovni jo`natadi va javobni olib foydalanuvchiga qaytaradi.
Load balancer doim server ishlayotganini tekshirib turadi va agar birortasi ochib qolganini bilsa trafikni boshqa serverlarga yonaltiradi.
Load balancer foydalanuvchi uchun server haqida ma`lumotlarni yashirib mavhumlashtiradi.

load balancing
Load balancing nima o`zi va nega kerak ?
Odatda load balancer sizning dasturingiz mashhur bolganda ishlatiladi chunki u paytda serverlar*** horizontal scaling boladi va trafik taqsimlash load balancerga topshiriladi***.
Ba
zi holatlarda **reverse proxy** bolib ham ishlab beradi.
Load balancer yordam bizga ushbu ishlarda yoram beradi:
- High availability. Sistema yuqori trafikdayam ishlab turishiga kafolat beradi.
- Trafikni serverlar orasida teng taqsimlaydi . Bu esa bir serverda bosim (overload) ko
payib ketmasligini taminlaydi. - Performanceni yaxshilaydi . Latencyni kamaytiradi va javob berish vaqtini qisqartiradi.
- Xatolikni bilib boshqa serverga so
rovlarni yonaltiradi. - Keyinchalik kengayishni qo`llab quvvatlaydi.
- Reliabilityni oshiradi chunki server o
chib qolganda ham boshqa serverlar sorovga javob beradi. Bu fault tolarentlikni ham deyiladi.
Load balancer turlari
Oldin bu maqolani oqishni tavsiya qilaman toliqroq tushunish uchun :
Network yoki OSI model qismlari .
OSI Layerga bog`liq turlari :
- Layer 4 (Transport layer) UDP/TCP darajasida routingni amala oshiradi va odatda IP addresslarga qarab serverni tanlaydi.
Layer 4 load balancer sorov ichidagi malumotlarni kora olmaydi va shuning uchun IP adress boyicha ishlaydi faqatgina IP adress bilan trafikni taqsimlash yaxshi samara bermasligi mumkin.
Layer 4 load balancer 2 xil uslubda ishlatish mumkin pass through (otkazib yuboradi) yoki **proxy **(ushlab qolib qayta yonaltiradi)
Pass through mode
Bu holatda load balancer foydalanuvchi bilan boglangan aloqani uzmasdan router sifatida kelgan paketlarni kerakli serverga yonaltiradi , foydalanuvchi bilan server ortasida bitta aloqa kanali bo`ladi.
Jarayon quyidagicha boladi foydalanuvchi TCP aloqani load balancer IP addressiga yuboradi va load balancer bu paketlarni serve IP addressiga qayta yozadi *ammo foydalanuvchi load balancer bilan gaplashayapman deb oylaydi* . Bunda shu aloqa kanalidan kelgan hamma TCP segmentlar bitta serverga jo`natiladi.
Bu NAT deyiladi koproq bilish uchun [ushbu maqolani](https://medium.com/@habibovulugbek/biz-qaysi-ip-addressni-ishlatamiz-nat-6fc3fae3a32a) oqing.

pass through
Proxy mode
Bu uslubda load balancer foydalanuvchu bilan aloqani ozida ushlab qolib server bilan aloqani ozi yangidan yaratadi. LB kelayotgan TCP handshakelarni ozi amalga oshirib va keyin server bilan aloqa ornatadi (oldindan ornatilgan pool ishlatilishi ham mumkin) . Server foydalanuvchi bilan togrida tog`ri gaplashmaydi .
LB har bir aloqani o`zi boshqargani uchun aqlliroq algoritmlar ishlatish mumkin, serverdagi aloqa kanallari soniga qarab , latency yoki server ishlayotganiga qarab va dinamik routingga kirib ketadi.
Layer 4 LB bilan proxy ishlatish ushbu holatlarda tavsiya qilinadi :
- O
zgaruvchan yonaltirish mantig`i(advanced) - aloqa darajasida kuzatish (TCP xatoliklar)
- rate limiting , TCP darajasida qayta urinishlar
Layer 4 LB sorov ichini kormaganaligi uchun tez ishlaydi, xavfsizlik yuqori, protocol tanlamaydi , bitta aloqa kanali ishlatish mumkin, ammo, aqlli load balancing qilish qiyin, caching yoq va aloqani boshqa foydalanuvchi ishlatolmaydi (pass through modeda).
L4 LB uchun misollar : AWS NLB, HAProxy (TCP mode)

proxy
- Layer 7 (Application layer) . Bu HTTP/HTTPS bilan ishlaydi va qarorlarni so
rov ichidagi malumotga asoslanib qilishi mumkin chunki unda bu malumotlarga ruxsat boladi.
Layer 7 doim proxy modeda ishlaydi foydalanuvchidan sorovni olib ozi server bilan aloqa ornatadi va *2 ta aloqa kanali boladi (foydalanuvchidan LBga va LBdan serverga) *. Bundan tashqari u har bir sorovni tushunishi kerak aks holda uni otkazmaydi. Layer 7 LB serverlardan SSL encryption ochish ishini ham o`ziga olishi mumkin . Layer 7 load balancer foydali tomonlari trafikni aqlli yonaltirish , caching chunki endi hamma narsa korib turamiz, API gateway logikasini qoshishimiz mumkin va Authni ham shuyerda qilishimiz mumkin. Yomon tomonlari qimmat, 2 ta aloqa kanali yaratish kerak, protokolni tushunishi kerak , **TLS **sertifikatni LB bilan bolishishingiz kerak.
L7 LB misollar: NGINX, Envoy, AWS ALB, HAProxy HTTP mode
Yuklash uslubiga qarab turlari :
- Hardware load balancer. Maxsus qurilmalar (Citrix)
- Software load balancer. Load balancer dasturlar (Ngnix, HAproxy)
- Cloud load balancers . Cloud o`zi beradigan load balancerlar (AWS Elastic load balancer, GCP load balancer )
Load balancing strategiyalari (algoritmlari) :
Static load balancing ular server holatini hisobga olmaydi shunchaki sorovni yonaltiradi (bu qachonki trafik taxmin qilinishi mumkin bo`lsa yaxshi ishlaydi) :
- Round robin: So
rovlarni serverlarga ketma-ket ravishda taqsimlaydi.Ammo hamma katta sorovlarni bir serverga yuborib undagi bosimni oshirishi mumkin. - Sticky round robin. Bu ham xuddi round robin ammo bir foydalanuvchini doim bir serverga jo
natadi va ***shu serverda foydalanuvchi malumotlarini saqlash orqali performance oshirish mumkin bu statefull dastur deyiladi***. Bu ham yangi kelgan userlarni bir serverga uzatish orqali bir serverga bosim berishi mumkin. - Least connection : So
rovni eng kam aloqa kanali bolgan serverga yo`naltiradi (L4 LB TCP darajasida) - IP hashing: IP address hashlangan qiymatga qarab server tanlaydi . Agarda to
gri hash funksiya tanlansa teng taqsimlanadi lekin buni qilish qiyin .
Dynamic load balancing uslublari serverdagi performance malumotlarini hisobga holgan holda sorovlarni yo`naltiradi :
- Least connection : So
rovni eng kam aloqa kanali bolgan serverga yo`naltiradi va bu serverlardagi aloqa kanallari sonini doim tekshirib turadi (L7 LB) - Least response time. So
rovni tez javob berayotgan serverga yonaltiradi av performance oshiradi. - Moslangan load balancing. Qarorlar real vaqtdagi monitoringa asoslanib qabul qilinadi.
- Weighted (round robin) load balancing. Ba
zi serverlar kop resurs borligiga qarab kop sorovni shu serverga jonatish (qolda ozgartirish kerak boladi)

load balancing algoritmlari
Round robin sotuv dasturlari uchun juda yaxshi ishlaydi dinamik algoritnlar odatda katta va murakkab dasturlarda ishlatilinadi.
Odatda kop load balancerlar round robin algoritmi bilan ishlaydi , ideal holatda biz aqlli load balancingdan foydalanishimiz kerak ammo uni yolga qo`yish ancha murakkab.
Load balancer qo`shimcha vazifalari
Load balancerlar trafikni taqsimlashdan tashqari boshqa narsalarni monitoring qilishga yordam berishi mumkin, masalan:
- Trafik ma`lumotlari : So`rovlar soni , Umumiy aloqa kanallari soni
- Performance ma`lumotlari : Javob vaqti, latency , Throughput
- Server ma`lumotlari: Serverlar ishlayotgani nazorat qilish
- Xatoliklar: HTTP kodlari bo`yicha xatoliklar soni
Load balancer yomon tomonlari
- Load balancer to
gri konfiguratsiya qilinmasa yoki yetarli resurs bo`lmasa dasturdagi eng muammoli nuqtaga(performance bottleneck) aylanishi mumkin - Load balancing qo
shish single point of failureni oldini oladi ammo murakkablik qoshadi . Single point of failure(SPOF) - Bitta load balanncer qo
shish bu SPOF boladi , shuning uchun hech bolmaganda active-passive uslubida qoshimcha load balancer bolishi kerak (asosiy ochganda o`rniga kelish uchun).
Fail-over va fault tolerance maqolasi .
Xulosa
Dastur kattalashgandan keyin eng katta muammo bu togri load balancer va togri algoritm tanlash . Masalan Layer 4 LB tez va kam resurs yeydi ammo o`zgaruvchan emas, Layer 7 esa sekin ammo aqlli algorimtlar ishlatish mumkin.
Togri algoritm tanlash esa sizning dastur xarakteristikasiga , talablarga va sidagi resurslarga bogliq boladi lekin odatda Round robin sizga yetarli bo`ladi .
Agarda maqola yoqqan bolsa chapak chaling (kop chalsayam boladi 50 tagacha). Obuna bolishni unutmang ;)
Xato va kamchiliklar uchun uzr !!!
linkedin.com => Ulug’bek Habibov | LinkedIn
Resurslar jamlangan Repo => https://github.com/HabibovUlugbek/Ozbekcha-resurslar
telegram channel => @habibov_ulugbek
메타데이터
- post_id
- 8b01e476340e
- slug
- load-balancer-nima-uchun-kerak-8b01e476340e
- url
- https://medium.com/@habibovulugbek/load-balancer-nima-uchun-kerak-8b01e476340e
- canonical_url
- https://medium.com/@habibovulugbek/load-balancer-nima-uchun-kerak-8b01e476340e
- author_url
- https://medium.com/@habibovulugbek
- status
- ok
- fetched_at
- 2026-07-15 06:19:17