Jakiego algorytmu używa Amazon ELB do zrównoważenia obciążenia?


13

Znalazłem to w oficjalnej dokumentacji ELB

Domyślnie moduł równoważenia obciążenia kieruje każde żądanie niezależnie do instancji aplikacji o najmniejszym obciążeniu.

ale artykuł na temat Newvem mówi, że ELB obsługuje tylko algorytm Round Robin

Algorytmy obsługiwane przez Amazon ELB - obecnie Amazon ELB obsługuje tylko Round Robin (RR) i Session Sticky Algorytmy.

Więc który to jest?

[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
Poszedłem z oficjalnymi dokumentami ponad rocznego, niepowiązanego artykułu na przypadkowym blogu, chyba że podano powód, by sądzić inaczej. Należy jednak pamiętać, że „instancja z najmniejszym obciążeniem” dotyczyłaby tylko określonej strefy - jeśli masz jedną instancję w strefie A i dwie w strefie B, konsola AWS ostrzega, że ​​żądania będą niezrównoważone.
ceejayoz

„Zwróć jednak uwagę, że„ wystąpienie o najmniejszym obciążeniu ”dotyczyłoby tylko określonej strefy” <Czy jest to gdzieś wymienione w oficjalnej dokumentacji?
kn330

Jestem pewien, że gdzieś o tym wspominano, ale zdecydowanie dodaje się go w konsoli AWS, gdy dodajesz instancje do ELB. Oto zrzut ekranu: cl.ly/image/251m3g1b0E1n
ceejayoz

Abdul, proszę przyjąć poprawną odpowiedź, którą jest crizCraig.
tedder42

Odpowiedzi:


14

Jest to liczba żądań oparta na HTTP (S), round robin dla innych.

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

Zanim klient wyśle ​​żądanie do modułu równoważenia obciążenia, najpierw rozpoznaje nazwę domeny modułu równoważenia obciążenia za pomocą serwerów DNS. Serwer DNS używa okrągłego robota DNS w celu ustalenia, który węzeł modułu równoważenia obciążenia w określonej strefie dostępności otrzyma żądanie.

Wybrany węzeł modułu równoważenia obciążenia wysyła następnie żądanie do zdrowych instancji w tej samej strefie dostępności. Aby określić poprawne instancje, węzeł modułu równoważenia obciążenia używa algorytmu routingu okrągłego robina (dla połączeń TCP) lub najmniej wymagającego żądania (dla połączeń HTTP / HTTPS). Najmniej zaległy algorytm routingu żądań faworyzuje instancje zaplecza z najmniejszą liczbą połączeń lub oczekujących żądań.


2
Ta informacja jest nieco nieaktualna. Moduł równoważenia obciążenia wyśle ​​żądanie do zdrowych instancji w tej samej strefie dostępności, tylko jeśli funkcja skrzyżowania stref jest wyłączona. Domyślne ustawienie dla funkcji cross-zone jest włączone, dlatego moduł równoważenia obciążenia wyśle ​​żądanie do każdej zdrowej instancji zarejestrowanej w module równoważenia obciążenia przy użyciu najmniej zaległych żądań dla HTTP / HTTPS i round-robin dla połączeń TCP.
ColtonCat,

Hej @ColtonCat, możesz podać link do źródła informacji
murarisumit


2

Zależy to od rodzaju zastosowanego ELB. AWS z czasem wprowadziło Application ELB i Network ELB wraz z Classic ELB.

Application Load Balancersstosuje reguły detektora i przypisuje żądanie (HTTP / HTTPS) do grupy docelowej. Wybiera cel z tej grupy docelowej za pomocąround robin routing algorithm

Network Load Balancers węzeł, który odbiera połączenie, wybiera cel ze swojej grupy docelowej za pomocą flow hash routing algorithm

Classic Load Balancersużywa round robin routing algorithmdla detektorów TCP oraz detektorów least outstanding requests routing algorithmHTTP i HTTPS

.

TLDR;

Nowoczesne ELB wykorzystują round robin routing algorithmżądania HTTP / HTTPS i flow hash routing algorithmżądania TCP.

Klasyczny ELB używany round robin routing algorithmdo żądań TCP oraz żądań least outstanding requests routing algorithmHTTP i HTTPS

Źródło / dalsze czytanie: https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#routing-alnarch

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.