---
title: 'Протоколы и методы балансировки нагрузки'
sidebar_label: 'Протоколы и методы балансировки нагрузки'
sidebar_position: 1
description: 'Какие протоколы, способы сохранения сессий и методы балансировки нагрузки поддерживает FortiGate'
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import {CustomTable} from 'docs-kit/components'

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

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

При настройке балансировки вы выбираете:

* [протокол](#protocols) входящего трафика;
* [метод балансировки нагрузки](#load-balancing-methods).

В зависимости от того, какой протокол вы выберете, можно включить [сохранение сессии](#session-persistence).

## Протоколы \{#protocols}

Для балансировки нагрузки доступны протоколы на разных уровнях модели OSI:

* на сетевом и транспортном уровнях (L3–L4): IP, TCP и UDP;
* уровне приложений (L7): HTTP, HTTPS, IMAPS, POP3S, SMTPS и SSL.

## Сохранение сессии \{#session-persistence}

При балансировке можно включить сохранение сессии.
Все запросы одного пользователя будут обрабатываться одним сервером.
Это позволит сохранять пользовательскую сессию, например, не прерывать аутентификацию на сайте.
Сохранение сессии поддерживается не для всех [протоколов](#protocols). Способ сохранения сессии зависит от протокола.

<CustomTable>
  <table data-sticky>
    <thead>
      <tr>
        <th />

        <th>Способ сохранения сессии</th>
        <th>Описание</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <th>HTTP, HTTPS</th>
        <td>HTTP cookie</td>
        <td>Запросы с одинаковым cookie передаются на один сервер за межсетевым экраном</td>
      </tr>

      <tr>
        <th>IMAPS, POP3S, SMTPS, SSL, HTTPS</th>
        <td>SSL Session ID</td>
        <td>Запросы с одинаковым SSL Session ID передаются на один сервер за межсетевым экраном</td>
      </tr>

      <tr>
        <th>TCP, UDP, IP</th>
        <td>Без сохранения сессии</td>
        <td>Запросы передаются на сервер за межсетевым экраном согласно [методу балансировки нагрузки](#load-balancing-methods)</td>
      </tr>
    </tbody>
  </table>
</CustomTable>

## Методы балансировки нагрузки \{#load-balancing-methods}

Метод балансировки определяет, как распределяются запросы между серверами за межсетевым экраном.

<CustomTable>
  <table>
    <tbody>
      <tr>
        <th>Static</th>
        <td>Запросы равномерно передаются на все серверы без учета загруженности серверов</td>
      </tr>

      <tr>
        <th>Round Robin</th>
        <td>Запросы передаются каждому серверу по очереди</td>
      </tr>

      <tr>
        <th>Weighted</th>
        <td>Серверы с большим весом получают пропорционально больше запросов</td>
      </tr>

      <tr>
        <th>Least Session</th>
        <td>Запрос передается на сервер с наименьшим количеством активных сессий</td>
      </tr>

      <tr>
        <th>Least RTT</th>
        <td>Запрос передается на сервер с минимальным временем приема-передачи (RTT). Значение RTT измеряется с помощью проверки доступности сервера — Health Check типа Ping. Если Health Check не настроен, RTT по умолчанию равно нулю</td>
      </tr>

      <tr>
        <th>First Alive</th>
        <td>Все запросы направляются на первый доступный сервер. Если сервер недоступен, запросы передаются на следующий сервер</td>
      </tr>

      <tr>
        <th>HTTP Host</th>
        <td>Запросы распределяются между серверами на основе HTTP-заголовка `Host`</td>
      </tr>
    </tbody>
  </table>
</CustomTable>

<Formbricks />
