WEB¶
Обзор¶
Persistence – это набор методов, обеспечивающих устойчивую маршрутизацию запросов: запросы от одного и того же клиента будут направляться к одному и тому же Worker.
ADC предоставляет несколько режимов persistence, используя данные из HTTP-заголовков (header, cookie), сети исходного IP-адреса или SSL-сессии (TLS 1.2).
В зависимости от выбранного метода, ADC сохраняет определённые атрибуты в таблице persistence и использует эти записи для маршрутизации последующих запросов.
Управление видимостью таблиц Persistence (режим совместного использования, таймаут) выполняется при настройке Сервиса – см. WEB.
Настройка¶
В боковом меню выберите Persistence Groups.
Над таблицей расположена панель действий с кнопками:
New row – добавить новую строку в таблицу для создания записи Persistence
Rollback – откатить незафиксированные изменения
Apply changes – применить внесённые изменения
Settings – настройки отображения таблицы (видимость колонок)
Чтобы создать новую запись Persistence, нажмите New row. В таблице появится новая строка, в которой необходимо заполнить поля. После заполнения нажмите Apply changes.
Чтобы удалить запись Persistence, нажмите значок корзины в строке нужной записи, затем нажмите Apply changes.
Примечание
Имена объектов используют формат partition/name, например default/my-persistence.
Колонки таблицы¶
Колонка |
Описание |
|---|---|
Name |
Имя Persistence-группы в формате |
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в качестве длины маски подсети.