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


13

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

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

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

Алгоритмы, поддерживаемые Amazon ELB. В настоящее время Amazon ELB поддерживает только алгоритмы Round Robin (RR) и Session Sticky.

Так какой это?

[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 9.09.13

Я уверен, что где-то упоминается, но это определенно упоминается в консоли 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


2

Это зависит от типа используемого ELB. С течением времени AWS представила Приложения ELB и Network ELB вместе с Классическим 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

,

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.