Назад | Перейти на главную страницу

Какой алгоритм использует Amazon ELB для балансировки нагрузки?

Я нашел это в официальной документации ELB

По умолчанию балансировщик нагрузки направляет каждый запрос независимо к экземпляру приложения с наименьшей нагрузкой.

но в статье о Newvem говорится, что ELB поддерживает только алгоритм Round Robin

Алгоритмы, поддерживаемые Amazon ELB - В настоящее время Amazon ELB поддерживает только циклический перебор (RR) и алгоритмы фиксации сеанса.

Так что это?

[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

Счетчик запросов основан на HTTP (S), циклический - для других.

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

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

Затем выбранный узел балансировки нагрузки отправляет запрос работоспособным экземплярам в той же зоне доступности. Чтобы определить работоспособные экземпляры, узел балансировки нагрузки использует алгоритм маршрутизации либо циклического перебора (для соединений TCP), либо алгоритма маршрутизации наименее ожидающих запросов (для соединений HTTP / HTTPS). Алгоритм маршрутизации наименее ожидаемых запросов отдает предпочтение внутренним экземплярам с наименьшим количеством подключений или невыполненных запросов.

Это зависит от типа используемого ELB. AWS со временем представила Application ELB и Network ELB вместе с Classic ELB.

Application Load Balancers применяет правила прослушивателя и назначает запрос (HTTP / HTTPS) целевой группе. Он выбирает цель из этой целевой группы, используя round robin routing algorithm

Network Load Balancers узел, который получает соединение, выбирает цель из своей целевой группы, используя flow hash routing algorithm

Classic Load Balancers использует round robin routing algorithm для слушателей TCP и least outstanding requests routing algorithm для прослушивателей HTTP и HTTPS

.

TL; DR;

Современные 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