Welchen Algorithmus verwendet Amazon ELB, um die Last auszugleichen?


13

Ich habe dies in der offiziellen ELB-Dokumentation gefunden

Standardmäßig leitet ein Lastenausgleich jede Anforderung unabhängig an die Anwendungsinstanz mit der geringsten Last weiter.

In einem Artikel über Newvem heißt es jedoch, 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-Algorithmen.

Also welches ist es?

[1] http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html

[2] http://www.newvem.com/dissecting-amazon-elastic-load-balancer-elb-18-facts-you-should-know/?lead_source=popup_ebook&oid=00DD0000000lsYR&email=muneeb%40olacabs.com


1
Ich würde mit den offiziellen Dokumenten über einen Jahr alten Artikel ohne Quellenangabe auf einem zufälligen Blog gehen, es sei denn, es wurde ein Grund angegeben, etwas anderes zu glauben. Beachten Sie jedoch, dass "Instanz mit der geringsten Last" nur für eine bestimmte Zone gilt. Wenn Sie eine Instanz in Zone A und zwei in Zone B haben, werden Sie von der AWS-Konsole gewarnt, dass die Anforderungen nicht ausgeglichen werden.
Ceejayoz

'Beachten Sie jedoch, dass "Instanz mit der geringsten Last" nur für eine bestimmte Zone gilt.' <Wird dies in der offiziellen Dokumentation irgendwo erwähnt?
kn330

Ich bin sicher, dass es irgendwo erwähnt wird, aber es wird definitiv in der AWS-Konsole erwähnt, wenn Sie Instanzen zu einer ELB hinzufügen. Hier ist ein Screenshot: cl.ly/image/251m3g1b0E1n
ceejayoz

Abdul, bitte nimm die richtige Antwort an, die von crizCraig stammt.
Tedder42

Antworten:


14

Die Anzahl der Anfragen basiert auf HTTP (S), Round Robin für andere.

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#request-routing

Bevor ein Client eine Anforderung an Ihren Load Balancer sendet, wird zunächst der Domänenname des Load Balancers mit den DNS-Servern (Domain Name System) aufgelöst. Der DNS-Server verwendet DNS-Round-Robin, um zu bestimmen, welcher Load-Balancer-Knoten in einer bestimmten Availability Zone die Anforderung empfängt.

Der ausgewählte Load-Balancer-Knoten sendet dann die Anforderung an fehlerfreie Instanzen innerhalb derselben Availability Zone. Um die fehlerfreien Instanzen zu ermitteln, verwendet der Load-Balancer-Knoten entweder den Round-Robin-Routing-Algorithmus (für TCP-Verbindungen) oder den Routing-Algorithmus für die am wenigsten ausstehenden Anforderungen (für HTTP / HTTPS-Verbindungen). Der Routing-Algorithmus für am wenigsten ausstehende Anforderungen bevorzugt Back-End-Instanzen mit den wenigsten Verbindungen oder ausstehenden Anforderungen.


2
Diese Informationen sind etwas veraltet. Der Lastenausgleich sendet die Anforderung nur an fehlerfreie Instanzen innerhalb derselben Verfügbarkeitszone, wenn die zonenübergreifende Funktion deaktiviert ist. Die Standardeinstellung für die zonenübergreifende Funktion ist aktiviert. Daher sendet der Load Balancer eine Anforderung an jede fehlerfreie Instanz, die beim Load Balancer registriert ist. Dabei werden ausstehende Anforderungen für HTTP / HTTPS und Round-Robin-Anforderungen für TCP-Verbindungen verwendet.
ColtonCat

Hey @ ColtonCat können Sie bitte Link-Quelle für die Info
Murarisumit


2

Dies hängt von der Art des verwendeten ELB ab. AWS hat im Laufe der Zeit Application ELB und Network ELB zusammen mit der Classic ELB eingeführt.

Application Load BalancersWendet Listener-Regeln an und weist die (HTTP / HTTPS) -Anforderung einer Zielgruppe zu. Es wählt mit der Taste ein Ziel aus dieser Zielgruppe ausround robin routing algorithm

Network Load Balancers Knoten, der die Verbindung empfängt, wählt mit a ein Ziel aus seiner Zielgruppe aus flow hash routing algorithm

Classic Load BalancersVerwendet round robin routing algorithmfür TCP-Listener und least outstanding requests routing algorithmfür HTTP- und HTTPS-Listener

.

TLDR;

Die modernen ELBs werden round robin routing algorithmfür HTTP / HTTPS-Anforderungen und flow hash routing algorithmfür TCP-Anforderungen verwendet.

Klassisches ELB, das round robin routing algorithmfür TCP-Anforderungen sowie least outstanding requests routing algorithmfür HTTP- und HTTPS-Anforderungen verwendet wird

Quelle / Weitere Informationen: https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-loadbalancing-works.html#routing-algorithm

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.