WEB

Обзор

Persistence – это набор методов, обеспечивающих устойчивую маршрутизацию запросов: запросы от одного и того же клиента будут направляться к одному и тому же Worker.

ADC предоставляет несколько режимов persistence, используя данные из HTTP-заголовков (header, cookie), сети исходного IP-адреса или SSL-сессии (TLS 1.2).

В зависимости от выбранного метода, ADC сохраняет определённые атрибуты в таблице persistence и использует эти записи для маршрутизации последующих запросов.

Управление видимостью таблиц Persistence (режим совместного использования, таймаут) выполняется при настройке Сервиса – см. WEB.

Настройка

В боковом меню выберите Persistence Groups.

../../_images/persistence_main.png

Над таблицей расположена панель действий с кнопками:

  • New row – добавить новую строку в таблицу для создания записи Persistence

  • Rollback – откатить незафиксированные изменения

  • Apply changes – применить внесённые изменения

  • Settings – настройки отображения таблицы (видимость колонок)

Чтобы создать новую запись Persistence, нажмите New row. В таблице появится новая строка, в которой необходимо заполнить поля. После заполнения нажмите Apply changes.

Чтобы удалить запись Persistence, нажмите значок корзины в строке нужной записи, затем нажмите Apply changes.

Примечание

Имена объектов используют формат partition/name, например default/my-persistence.

Колонки таблицы

Колонка

Описание

Name

Имя Persistence-группы в формате partition/name

Mode

Режим работы Persistence (выпадающий список): passive-cookie, active-cookie, header, source-ip, ssl-sid

Timeout

Время жизни записи Persistence (в секундах) после закрытия последней связанной сессии. По умолчанию – 30 секунд

Поля Name и Mode обязательны.

Примечание

Persistence задаётся при создании Сервиса.

Режимы Persistence

Passive cookie

В этом режиме persistence основана на cookie, генерируемых Worker.

ADC проверяет ответы от Worker, и если найдено cookie с указанным Param, его значение сохраняется в таблице persistence.

Запросы от клиента с совпадающим значением cookie направляются на тот же Worker.

Здесь Param – это имя cookie, генерируемого Worker, которое ADC отслеживает для обеспечения persistence.

Active cookie

В отличие от Passive cookie, режим Active cookie не использует cookie, сгенерированные Worker.

Вместо этого ADC генерирует собственный cookie с указанным Param и вставляет его в ответ клиенту. Значение cookie сохраняется в таблице persistence и используется для связывания будущих запросов клиента с соответствующим Worker.

Здесь Param – это имя cookie, которое ADC будет генерировать и вставлять в ответы клиентам для отслеживания persistence.

Header

Этот режим использует значение указанного HTTP-заголовка из входящих запросов клиента для обеспечения persistence.

Когда заголовок с настроенным Param присутствует, его значение сохраняется в таблице persistence и используется для направления будущих запросов на тот же Worker.

Здесь Param – это имя HTTP-заголовка, значение которого будет использоваться для persistence.

Source IP

Этот режим использует сеть исходного IP-адреса клиента для обеспечения persistence. ADC сохраняет сеть исходного IP-адреса клиента в таблице persistence и балансирует все последующие запросы из той же подсети на один и тот же Worker.

Вы можете задать длину префикса для IPv4 (значение от 0 до 32) или IPv6 (значение от 0 до 128) адресов. Эти значения определяют уровень детализации при сопоставлении Persistence (например, применяется ли он к конкретному IP-адресу или к целому диапазону сетевых адресов).

SSL SID

В этом режиме ADC использует идентификатор SSL-сессии (как определено в TLS 1.2) в качестве ключа persistence.

Когда клиент инициирует SSL-рукопожатие, ADC извлекает идентификатор сессии и сохраняет его в таблице persistence. Последующие запросы с тем же идентификатором сессии направляются на тот же Worker.

Примечание

При использовании TLS 1.3 поле session ID недоступно. В этом случае ADC переключается на source-IP persistence, используя указанный prefix-length в качестве длины маски подсети.