Який алгоритм використовує Amazon ELB, щоб збалансувати навантаження?


13

Я знайшов це в офіційній документації ELB

За замовчуванням балансир завантаження спрямовує кожен запит незалежно до екземпляра програми з найменшим навантаженням.

але стаття про Newvem говорить, що ELB підтримує лише алгоритм Round Robin

Алгоритми, що підтримуються Amazon ELB - В даний час Amazon ELB підтримує лише Round Robin (RR) і Sesssion Sticky Algorithms.

То який це?

[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
Я б пішов з офіційними документами понад рік, не розміщеною статтею у випадковому блозі, якщо б не було підстави вважати інше. Зауважте, що "екземпляр з найменшим навантаженням" застосовуватиметься лише до певної зони - якщо у вас є один екземпляр у зоні A і два у зоні B, консоль AWS попереджає про те, що запити будуть незбалансовані.
ceejayoz

"Зауважте, однак, що" екземпляр з найменшим навантаженням "застосовуватиметься лише до певної зони" <Це десь в офіційній документації?
kn330

Я впевнений, що він десь згадується, але він обов'язково згадується в консолі AWS, коли ви додаєте екземпляри до ELB. Ось знімок екрана: cl.ly/image/251m3g1b0E1n
ceejayoz

Абдул, будь ласка, прийміть правильну відповідь, яка є crizCraig.
tedder42

Відповіді:


14

Кількість запитів, заснована на HTTP (S), круглень для інших.

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

Перш ніж клієнт надсилає запит вашому балансиру навантаження, він спочатку вирішує доменне ім'я балансира навантаження на серверах системи доменних імен (DNS). DNS-сервер використовує DNS-круглий робот, щоб визначити, який вузол балансування навантаження в певній зоні доступності отримає запит.

Потім вибраний вузол збалансування навантаження надсилає запит здоровим екземплярам в межах однієї зони доступності. Для визначення здорових екземплярів вузол балансування навантаження використовує алгоритм маршрутизації круглої робіни (для з'єднань TCP) або найменш непогашеного запиту (для з'єднань HTTP / HTTPS). Найменш видатний алгоритм маршрутизації запитів надає перевагу останнім екземплярам з найменшими підключеннями або невирішеними запитами.


2
Ця інформація трохи застаріла. Балансир навантаження буде надсилати запит здоровим екземплярам в одній зоні наявності, якщо функція міжзонної зони вимкнена. Увімкнено налаштування за замовчуванням для міжзонної функції, таким чином, балансир навантажень надішле запит будь-якому здоровому екземпляру, зареєстрованому в балансирі навантаження, використовуючи найменш непогашені запити для HTTP / HTTPS та кругоподібний зв'язок для TCP-з'єднань.
ColtonCat

Привіт, @ColtonCat, будь ласка, посилайте джерело інформації
murarisumit

Довідково для інформації: docs.aws.amazon.com/elasticloadbalancing/latest/userguide/…
murarisumit

2

Це залежить від типу використовуваного ELB. З часом компанія AWS впровадила Application ELB та Network ELB разом із класичним ELB.

Application Load Balancersзастосовує правила слухача і призначає (HTTP / HTTPS) запит цільовій групі. Він вибирає ціль із цільової групи за допомогоюround robin routing algorithm

Network Load Balancers вузол, який приймає з'єднання, вибирає ціль зі своєї цільової групи за допомогою a flow hash routing algorithm

Classic Load Balancersвикористовує round robin routing algorithmдля слухачів TCP та least outstanding requests routing algorithmдля слухачів HTTP та HTTPS

.

TLDR;

Сучасні ELB використовуються round robin routing algorithmдля HTTP / HTTPS запитів та flow hash routing algorithmдля запитів TCP.

Класичний ELB використовується round robin routing algorithmдля запитів TCP та least outstanding requests routing algorithmдля HTTP та HTTPS запитів

Джерело / подальші читання: https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#routing-algorithm

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.