Load balancer
Zoals de naam al zegt, een load balancer is om het verkeer tussen enkele servers te balanceren.
Wanneer je een web applicatie hebt waardoor je servers een hoge load hebben, kan je hier een load balancer voor plaatsen zodat al het verkeer verspreiden tussen meerdere servers.
Je kan een floating IP (Virtueel IP) toewijzen aan een load balancer welke alle pakketten door stuurt naar de juiste server op basis van de ingestelde distributie methode.
Hoe werkt het?Load balancer:
De load balancer bezet een poort en heeft een IP-adres welke is toegewezen door een subnet.
Listener:
Load balancers kunnen luisteren naar requests op meerdere poorten, elke poort zal gespecificeerd worden door een listener.
Pool:
Een pool heeft een lijst met members (leden) welke inhoud serveren via de load balancer.
Member:
Members (leden) zijn servers die verkeer serveren achter een load balancer, elk lid wordt gespecificeerd door een IP-adres en een poort welke gebruikt worden om verkeer te serveren.
Health monitor:
Members kunnen van tijd tot tijd offline gaan en health monitors leiden verkeer om van members welke niet op de normale manier reageren.
Health monitor worden geassocieerd met een pool.
Load Balancer Pools:
Een load balancing pool is een set van logische servers, zoals web servers welke je groepeerd om verkeer te ontvangen en te verwerken.
In plaats van verkeer te versturen naar een specifiek bestemd IP adres in een gebruikers request, kunnen load balancers deze naar elke server welke lid is van die pool versturen.
Iedere pool moet het zelfde protocol en de zelfde poort nummer gebruiken om load te kunnen verdelen.
Het protocol staat standaard op "HTTP" welke in je configuratie aangepast kan worden naar "HTTPS" of "TCP".
Het poortnummer staat standaard op 80 welke je naar wens kan aanpassen.
Virtual IP:
Het virtuele IP (of in het kort "VIP") verwijst naar het publieke ip adres welke zichtbaar is voor een gebruiker.
Dit is het enige IP adres wat gebruikt wordt door alle gebruikers om toegang te krijgen tot de applicatie of service welke draaien op een server node in de pool.
Load balance methodes
De LBaaS service kan het verkeer op verschillende manieren verdelen tussen nodes.
Geldige waardes voor deze eigenschap zijn:
ROUND_ROBIN:
De load balancer selecteerd zelf een node om de workload te verdelen op basis van round-robin, elke node krijgt even veel druk om zijn werklading te verwerken.
LEAST_CONNECTIONS:
De load balancer zal een node kiezen op basis van het aantal aangemaakte verbindingen, de node met het minste aantal verbindingen zal gekozen worden.
SOURCE_IP:
De load balancer zal hashes genereren welke gebasseerd zijn op het IP adres van de client en de server, deze hash wordt gebruikt voor het routeren.
Dit zorgt ervoor dat requests van de zelfde client altijd naar de zelfde server gestuurd worden, zelfs wanneer de verbinding is verbroken.
Health Monitor:
Omdat een load balancer voor alle andere nodes zit in een pool, moet hij van alle member nodes hun health status bewust zijn om het requests juist en betrouwbaar te routeren naar de active nodes om verwerkt te worden. Het probleem is dat er zoveel verschillende applicaties of webservices zijn, elke met zijn eigen gedrag, waardoor het lastig is om met een goede generiek en krachtige manier alle verschillende manieren van falen te detecteren.
LBaaS ondersteund 3 verschillende types om falende nodes te detecteren en generiek genoeg om een breed bereik aan applicaties te serveren.
PING:
De load balancer pingt iedere pool member om te detecteren of deze nog beschikbaar is.
TCP:
De load balancer probeert met telnet een verbindig te maken via de poort welke is ingestelt voor deze pool om te bepalen of deze nog beschikbaar is.
HTTP:
De load balancer probeerd een HTTP request naar een specifieke url en probeerd te bepalen of een node nog actief is door het resultaat met de verwachte waarde te vergelijken.
Opmerkingen
0 opmerkingen
U moet u aanmelden om een opmerking te plaatsen.