Ich habe dies in der offiziellen ELB-Dokumentation gefunden
Standardmäßig leitet ein Load Balancer jede Anfrage unabhängig an die Anwendungsinstanz mit der geringsten Last weiter.
aber ein Artikel auf Newvem besagt, dass ELB nur den Round-Robin-Algorithmus unterstützt
Von Amazon ELB unterstützte Algorithmen– Derzeit unterstützt Amazon ELB nur Round Robin (RR) und Session Sticky Algorithms.
Also, welches ist es?
[1]http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html
Antwort1
Für HTTP(S) basiert die Anforderungsanzahl, für andere erfolgt sie im Round Robin-Verfahren.
Bevor ein Client eine Anfrage an Ihren Load Balancer sendet, löst er zunächst den Domänennamen des Load Balancers mit den Domain Name System (DNS)-Servern auf. Der DNS-Server verwendet DNS Round Robin, um zu bestimmen, welcher Load Balancer-Knoten in einer bestimmten Availability Zone die Anfrage erhält.
Der ausgewählte Lastenausgleichsknoten sendet die Anforderung dann an fehlerfreie Instanzen innerhalb derselben Verfügbarkeitszone. Um die fehlerfreien Instanzen zu ermitteln, verwendet der Lastenausgleichsknoten entweder den Round-Robin-Routingalgorithmus (für TCP-Verbindungen) oder den Routingalgorithmus mit der geringsten ausstehenden Anforderung (für HTTP/HTTPS-Verbindungen). Der Routingalgorithmus mit der geringsten ausstehenden Anforderung bevorzugt Back-End-Instanzen mit den wenigsten Verbindungen oder ausstehenden Anforderungen.
Antwort2
Dies hängt vom verwendeten ELB-Typ ab. AWS hat im Laufe der Zeit neben Classic ELB auch Application ELB und Network ELB eingeführt.
Application Load Balancers
wendet Listener-Regeln an und weist die (HTTP/HTTPS)-Anforderung einer Zielgruppe zu. Es wählt ein Ziel aus dieser Zielgruppe mithilfe derround robin routing algorithm
Network Load Balancers
Der Knoten, der die Verbindung empfängt, wählt ein Ziel aus seiner Zielgruppe mithilfe einesflow hash routing algorithm
Classic Load Balancers
Verwendung round robin routing algorithm
für TCP-Listener und least outstanding requests routing algorithm
für HTTP- und HTTPS-Listener
.
Kurz und knapp;
Die modernen ELBs werden
round robin routing algorithm
für HTTP/HTTPS-Anfragen undflow hash routing algorithm
für TCP-Anfragen verwendet.Klassischer ELB wird
round robin routing algorithm
für TCP-Anfragen sowieleast outstanding requests routing algorithm
für HTTP- und HTTPS-Anfragen verwendet
Quelle / Weiterführende Literatur:https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#routing-algorithm