Балансировщики нагрузки

Что такое балансировщики нагрузки

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

В панели управления MCS Вы можете добавлять/удалять балансировщики и правила внутри них.

Ограничения

Количество добавляемых балансировщиков и правил в них ограничивается только количеством Ваших виртуальных машин, но есть несколько нюансов: 

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

- при создании балансировщику автоматически назначается белый ip (или floating ip). Это необходимо для доступности балансировщика извне. Поэтому при достижении лимита по количеству IP балансировщики перестают создаваться. Для увеличения квоты напишите в техническую поддержку.

Создание балансировщика

Внимание!

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

При создании Вы также можете добавить одно или несколько правил (про вес написано ниже):

При выборе протокола назначения HTTPS появляются расширенные возможности - в том числе выбрать сертификат, цепочку сертификатов и/или приватный ключ ...

... выбрать метод балансировки ...

... и выбрать несколько виртуальных машин для балансировки и их вес (для отображения возможности выставить вес нажмите "Добавить инстанс или IP" )  ...

Вес

Вес конкретного инстанса означает долю трафика, который будет балансироваться на него. Все веса всех указанных в правиле инстансов складываются и пересчитываются пропорциями до общих 100%.

Например, если указать веса для двух инстансов 20 и 30, то трафик будет балансироваться на потоки 40% и 60%.

Если указать для четырёх инстансов одинаковые веса "5", то трафик будет делиться по 25% соответственно. Если для пяти инстансов указать значение "5", то трафик будет делиться по 20% на каждый инстанс.

... и настроить параметры интервалов проверки доступности:


Добавленный балансировщик со списком правил выглядит так:

Если кликнуть по его названию, откроется окно для просмотра, добавления и/или редактирования правил:


Методы балансировки 

В настоящий момент балансировщик поддерживает три основных метода:

  1. LEAST_CONNECTIONS. Учитывает количество подключений, поддерживаемых серверами в текущий момент времени. Каждый следующий запрос передаётся серверу с наименьшим количеством активных подключений.
  2. ROUND_ROBIN. Представляет собой перебор по кругу: первый запрос передаётся первому серверу, затем следующий запрос передаётся второму и так до достижения последнего сервера, а затем всё начинается сначала. 
  3. SOURCE_IP. В этом методе сервер, обрабатывающий запрос, выбирается произвольным образом, и закрепляется (на сессию, в cookies) за конкретным источником запроса.