VK Cloud

Load Balancer

Оптимальное распределение нагрузки на инфраструктуру

Бесперебойная работа ваших проектов

Load Balancer — балансировщик нагрузки, который автоматически распределяет входящий трафик между серверами. Ваши приложения и сервисы доступны, даже если один из серверов выходит из строя или не может справиться с потоком запросов.

history_forward_outline_28.svg

Повышение доступности сервисов для пользователей

picture_in_picture_out_16x9_outline_28.svg

Масштабирование инфраструктуры без простоев в работе

refresh_outline_28.svg

Обеспечение отказоустойчивости приложений

Типы балансировщиков нагрузки от VK Cloud

illustration_line_vk cloud.svg

Стандартный балансировщик

Можно подключить для отказоустойчивости и гибкого масштабирования приложений при работе с Cloud Servers и Cloud Containers.

illustration_line_vk cloud2.svg

Сервисный балансировщик

Необходим для работы некоторых PaaS-сервисов, и подключается автоматически при их развертывании. Список таких сервисов — в документации.

Сценарии использования Load Balancer

Гибкое масштабирование инфраструктуры

Стандартный балансировщик
Когда поток запросов к приложению растет, балансировщик нагрузки распределяет запросы на новые серверы. Сайт стабильно работает при любых нагрузках.

Доступность сервисов при сбоях

Стандартный балансировщик
Когда один сервер выходит из строя, запросы поступают на другие доступные. Благодаря этому приложение работает, даже если произошел сбой.

Безопасное тестирование обновлений

Стандартный балансировщик
Сервер, на котором тестируют обновления, исключают из основной группы — балансировщик трафика временно не передает на него запросы.

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

Балансировщик нагрузки работает с протоколами HTTP, TCP, UDP, HTTPS. Также Load Balancer поддерживает три метода балансировки.

cloud_outline_28.svg

Least Connections для большого количества активных соединений

Каждый последующий запрос Network Load Balancing направляет на сервер с наименьшим количеством подключений. Нагрузка распределяется между серверами с приблизительно одинаковыми параметрами.
postgrespro.svg

Round Robin, если у серверов одинаковая мощность

Балансировщик нагрузки серверов последовательно отправляет запросы на все доступные серверы. После запроса к последнему в очереди серверу цикл повторяется заново.
copy_outline_28.svg

Sticky Sessions, если для ответа нужны локальные данные

Запросы распределяются на произвольные серверы. При этом пользовательский IP Load Balancing запоминает и направляет все запросы от одного устройства на один и тот же сервер.

Принцип работы балансировщика нагрузки

page-balancer-scheme.svg
scroll-cхема

FAQ

Для чего нужен балансировщик нагрузки?

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


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

Для распределения нагрузки используют технологии балансировки нагрузки (server load balancing), с их помощью разделяют запросы по разным серверам. Упрощенно концепция балансировки выглядит просто — запросы от пользователей поступают в некое централизующее приложение, которое направляет их дальше на обработку в другие приложения.


С какими облачными сервисами работает Load Balancer?

Стандартный балансировщик создается пользователем и доступен при работе с сервисом облачных вычислений (Cloud Servers). Его задача — распределение трафика между серверами.

Также стандартный балансировщик можно подключить при работе с сервисом контейнеров (Cloud Containers), например, при использовании Ingress-контроллеров.

Сервисный балансировщик сетевой нагрузки создается автоматически, он нужен для работы некоторых PaaS-сервисов.

  • В сервисе контейнеров Load Balancer подключается для каждого кластера Kubernetes, чтобы обеспечить доступ к Kubernetes API.
  • В сервисе баз данных для инстансов БД в кластерной конфигурации, чтобы балансировать нагрузку между узлами инстансов. Это применимо для инстансов MySQL, PostgreSQL, Postgres Pro Enterprise, Postgres Pro Enterprise 1С.

Полный перечень сервисов, для которых создается сервисный балансировщик, — в документации.


Стандартный балансировщик нагрузки доступен всем пользователям VK Cloud?

Да. Но количество балансировщиков нагрузки ограничено квотами на проект клиента. Квоту можно увеличить, обратившись в техподдержку VK Cloud.


Как подключить и настроить сервис Load Balancer?

Добавлять, удалять и настраивать стандартные балансировщики нагрузки для серверов можно в панели управления VK Cloud, а также через API openstack и Terraform-провайдер. Сервисный балансировщик создается автоматически.


Что делать, если при создании Load Balancer я указал не ту сеть?

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


Как распределяется трафик между выбранными виртуальными машинами?

При подключении Application Load Balancer вы указываете вес каждой виртуальной машины. Это число означает долю трафика на конкретный инстанс.

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

Например, если веса виртуальных машин — 20 и 30, значит, на первую Network Load Balancer отправит 40% трафика, а на вторую — 60%.


Может ли трафик попасть на неработающий облачный сервер?

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

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

Документация

Здесь есть ответы на большинство вопросов по настройке сервисов
Вся документация

Не нашли ответ на свой вопрос?

Задайте его нам на портале поддержки, и мы оперативно ответим
Задать вопрос
40+ готовых сервисов