Hosting & Infrapokročilý

Čo je Load Balancer?

Load balancer je zariadenie alebo softvér, ktorý rozdeľuje prichádzajúcu sieťovú prevádzku medzi viacero serverov. Zabezpečuje, aby žiadny server nebol preťažený, čím zvyšuje dostupnosť a výkon aplikácie.

Definícia Load Balancer

Čo je load balancer

Load balancer (po slovensky rozdeľovač záťaže) je kľúčový komponent modernej serverovej infraštruktúry. Stojí medzi klientmi a skupinou serverov a inteligentne rozdeľuje požiadavky tak, aby bola záťaž rovnomerne rozložená.

Algoritmy rozdeľovania záťaže

  • Round Robin — požiadavky sa striedavo posielajú na jednotlivé servery (1, 2, 3, 1, 2, 3...)
  • Least Connections — požiadavka ide na server s najmenším počtom aktívnych spojení
  • IP Hash — požiadavky z rovnakej IP adresy vždy smerujú na ten istý server (užitočné pre sessions)
  • Weighted — výkonnejšie servery dostávajú väčší podiel prevádzky

Typy load balancerov

  • Hardvérové — fyzické zariadenia (F5 BIG-IP), drahé, ale veľmi výkonné
  • SoftvérovéNginx, HAProxy, Traefik — flexibilné a cenovo dostupné
  • Cloud-based — AWS Elastic Load Balancer, Google Cloud Load Balancing — spravované poskytovateľom

Load balancer tiež vykonáva health checks — pravidelne kontroluje, či sú servery funkčné. Ak server zlyhá, load balancer automaticky prestane naň posielať prevádzku.

Praktický príklad

Príklad: Prevádzkujete e-shop, ktorý počas Black Friday zažíva 10-násobný nárast návštevnosti.

Bez load balancera by jeden server nestíhal a stránka by spadla. S load balancerom máte 4 servery za Nginx load balancerom. Keď príde 10 000 požiadaviek za minútu, load balancer ich rovnomerne rozdelí — každý server spracuje len 2 500. Ak jeden server zlyhá, zvyšné tri automaticky preberú jeho záťaž.

Často kladené otázky

Kedy potrebujem load balancer?

Load balancer potrebujete, keď jeden server nestačí na obsluhu všetkých návštevníkov, keď potrebujete vysokú dostupnosť (ak jeden server spadne, web funguje ďalej), alebo keď chcete škálovať aplikáciu horizontálne pridávaním serverov.

Aký je rozdiel medzi load balancerom a reverse proxy?

Reverse proxy stojí pred jedným alebo viacerými servermi a riadi prístup. Load balancer je špecializovaný typ reverse proxy, ktorý sa zameriava na rozdeľovanie záťaže medzi viacero serverov. Nginx môže fungovať ako oboje.

Čo sú health checks?

Health checks sú pravidelné kontroly, ktoré load balancer vykonáva na serveroch. Posiela im testovací požiadavok (napr. HTTP GET na /health) a ak server neodpovie, load balancer naň prestane posielať prevádzku.

Súvisiace pojmy

Potrebujete pomôcť s webom?

Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.