Advanced

Обзор Elastic Load Balance


Облачный балансировщик нагрузки Elastic Load Balance (

) автоматически распределяет входящий трафик между множеством серверов. Распределение происходит на основании настроенных правил. Балансировщик ELB расширяет возможности обслуживания серверов приложений и повышает их доступность за счет устранения единых точек отказа ().

_images/schm__images-elb.svg

Отслеживание нагрузки происходит с помощью «слушателей» (

). «Слушатели» используют указанные вами сетевые протоколы и порты для проверки запросов от клиентов и маршрутизируют запросы к на основании определенных вами правил. Для и «слушателей» можно добавить правила перенаправления запросов (Forwarding policy) на основании доменного имени или .

направляет запросы на один или несколько бэкенд-серверов. Можно настроить проверку работоспособности (Health Check) для каждой группы бэкенд-серверов. Когда при проверке работоспособности у сервера выявляется режим работы Abnormal, балансировщик нагрузки автоматически прекращает маршрутизацию новых запросов этому серверу до его восстановления.

_images/schm__images-load-balancer.svg

Таким образом, после создания балансировщика нагрузок (Load Balancer) необходимо создать как минимум одного «слушателя» и группу бэкенд-серверов, которая содержит как минимум один сервер.

Алгоритм балансировки нагрузки, выбранный при добавлении «слушателя», определяет, каким образом распределяются запросы.

Поддерживаемые алгоритмы

Weighted round robin

Каждому серверу присваивается весовой коэффициент, в соответствии с которым распределяются запросы. Бэкенд-серверы с более высоким коэффициентом получают, относительно других, большее количество запросов. Этот алгоритм часто используется для коротких подключений, например, в HTTP-сервисах.

Weighted least connection

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

Source IP hash

Исходный IP-адрес для каждого запроса рассчитывается, используя алгоритм хеширования, для того, чтобы сформировать уникальный хеш-ключ. Все бэкенд-серверы нумеруются. По сформированному хеш-ключу запросы клиента распределяются по определенным бэкенд-серверам. Этот алгоритм гарантирует, что запросы от различных клиентов будут направлены к тому же серверу, к которому они обращались прежде. Алгоритм подходит для TCP-соединений, не использующих cookie.

Тип балансировщика

ELB предоставляет два типа балансировщика нагрузки:

  • Dedicated Load balancer (выделенный)

    Использует выделенные ресурсы, не зависящие от других балансировщиков нагрузки, поэтому они не влияют на его производительность.

  • Shared load balancer (общий)

    Использует ресурсы совместно с другими балансировщиками нагрузки, которые влияют на его производительность. Не рекомендуется применять этот тип балансировщика для продуктивных сред.