---
title: 'Описание продукта Отказоустойчивый балансировщик нагрузки'
sidebar_label: 'Описание'
description: 'Принцип работы, сценарии использования, уровни балансировки'
sidebar_position: 1
---

import Formbricks from '@theme/MDXComponents/Formbricks';

import { CustomTable } from 'docs-kit/components';

# Описание продукта Отказоустойчивый балансировщик нагрузки

Отказоустойчивый балансировщик нагрузки — это обратный прокси-сервер (reverse proxy), который распределяет интернет-трафик между различными услугами Selectel, находящимися в разных регионах и зонах доступности:

* [Выделенные серверы](/dedicated/);
* [Облачные серверы](/cloud-servers/);
* [Managed Kubernetes](/managed-kubernetes/);
* [Облачные базы данных](/managed-databases/);
* [Публичное облако на базе VMware](/public-cloud/).

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

Количество целевых серверов и объем передаваемого трафика не ограничены.

## Принцип работы \{#principle-of-operation}

Для подключения балансировщика вы объединяете инфраструктуру в приватную сеть через [глобальный роутер Selectel](/global-router/about-global-router.mdx), в эту же сеть подключаете балансировщик.
Мы предоставляем вам внешний IP-адрес балансировщика для приема трафика, адрес защищен от DDoS-атак и анонсируется в интернет по протоколу BGP Anycast.
Трафик, приходящий на балансировщик, распределяется в инфраструктуре за ним по заданным правилам — алгоритм балансировки, протокол, IP-адреса и порты целевых серверов.

Балансировщик зарезервирован в двух независимых регионах — Москве и Санкт-Петербурге, в обоих регионах работает пара High-Avaliability-балансировщиков.
Если маршрутизатор или балансировщик в одном регионе становится недоступен, трафик автоматически переключается на другой регион.

За настройку балансировщика, обеспечение отказоустойчивости и мониторинг отвечает Selectel.

### Уровни балансировки \{#balancing-levels}

По модели OSI балансировка возможна на уровнях:

* L4 по протоколу TCP (транспортный уровень) — балансировщик перенаправляет запросы на серверы по заданным алгоритмам;
* L7 по протоколу HTTP (прикладной уровень) — балансировщик анализирует содержимое запроса и выбирает, на какой сервер отправить запрос.

### Алгоритмы балансировки \{#balancing-algorithmes}

На обоих уровнях балансировки (L4, L7) доступны разные алгоритмы балансировки:

* Round Robin — алгоритм кругового обслуживания, при котором запросы передаются каждому серверу по очереди;
* Weighted Round Robin — взвешенный алгоритм кругового обслуживания, при котором каждому серверу присваивается весовой коэффициент, соответствующий его производительности и мощности.
  На серверы с большим коэффициентом передается больше запросов;
* Source IP hash — алгоритм, при котором в зависимости от HTTP-заголовка или IP-адреса выбирается предпочтительный сервер для получения запроса;
* Least Connections — алгоритм, при котором запрос отправляется на наименее загруженный сервер.

### Сравнение уровней балансировки \{#balancing-levels-comparison}

<CustomTable>
  <table>
    <thead>
      <tr>
        <th />

        <th>L4</th>
        <th>L7</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <th>Тип трафика</th>
        <td>Любой</td>
        <td>HTTP</td>
      </tr>

      <tr>
        <th>Публичные порты</th>
        <td>Любые</td>
        <td>443 с TLS (SSL) <br /> 80 без TLS (SSL)</td>
      </tr>

      <tr>
        <th>Протокол</th>
        <td>TCP</td>
        <td>HTTP</td>
      </tr>

      <tr>
        <th>Поддержка SSL Offloading</th>
        <td>✗</td>
        <td>✓</td>
      </tr>

      <tr>
        <th>Поддержка Let’s Encrypt сертификатов</th>
        <td>✗</td>
        <td>✓</td>
      </tr>

      <tr>
        <th>Редирект с HTTP на HTTPS</th>
        <td>✗</td>
        <td>✓ (при активном SSL Offloading)</td>
      </tr>

      <tr>
        <th>Поддержка HTTP/2</th>
        <td>✗</td>
        <td>✓ (при активном SSL Offloading)</td>
      </tr>

      <tr>
        <th>Проброс IP-адресов источников</th>
        <td>✓ (через протокол прокси, если он включен на бэкенде)</td>
        <td>✓ (через стандартный заголовок X-Real-IP)</td>
      </tr>

      <tr>
        <th>Поддержка active/standby</th>
        <td>✗</td>
        <td>✗</td>
      </tr>

      <tr>
        <th>Поддержка сессий</th>
        <td>✗</td>
        <td>✓ (sticky sessions)</td>
      </tr>
    </tbody>
  </table>
</CustomTable>

## Лимиты \{#limitations}

Для отказоустойчивого балансировщика нагрузки установлены лимиты на количество одновременных подключений.
Лимит зависит от выбранного [тарифного плана](/load-balancer/about/payment.mdx#billing-options):

* Start — 1 600 подключений;
* Basic — 4 000 подключений;
* Standard — 8 000 подключений;
* Ultra — 80 000 подключений.

<Formbricks />
