Маршрутизация с учетом реплик
Маршрутизация с учетом реплик (также известная как sticky-сессии, sticky-маршрутизация или session affinity) использует балансировку нагрузки с кольцевым хешированием (ring hash) в прокси Envoy. Основная цель маршрутизации с учетом реплик — увеличить вероятность повторного использования кеша. Она не гарантирует изоляцию.
При включении маршрутизации с учетом реплик для сервиса мы разрешаем поддомен-шаблон (wildcard) для имени хоста сервиса. Для сервиса с именем хоста abcxyz123.us-west-2.aws.clickhouse.cloud вы можете использовать любое имя хоста, которое соответствует *.sticky.abcxyz123.us-west-2.aws.clickhouse.cloud, чтобы обращаться к сервису:
| Примеры имён хостов |
|---|
aaa.sticky.abcxyz123.us-west-2.aws.clickhouse.cloud |
000.sticky.abcxyz123.us-west-2.aws.clickhouse.cloud |
clickhouse-is-the-best.sticky.abcxyz123.us-west-2.aws.clickhouse.cloud |
Когда Envoy получает имя хоста, которое соответствует такому шаблону, он вычисляет хеш для маршрутизации на основе этого имени хоста и находит соответствующий сервер ClickHouse на кольцевом хеше в соответствии с вычисленным хешем. При условии, что в сервисе не происходит изменений (например, перезапусков серверов, масштабирования), Envoy всегда будет выбирать один и тот же сервер ClickHouse для подключения.
Обратите внимание, что исходное имя хоста по-прежнему будет использовать балансировку нагрузки LEAST_CONNECTION, которая является алгоритмом маршрутизации по умолчанию.
Ограничения маршрутизации с учетом реплик
Маршрутизация с учетом реплик не гарантирует изоляцию
Любой сбой в работе сервиса, например перезапуск серверных подов (по любой причине, такой как обновление версии, сбой, вертикальное масштабирование и т. д.), горизонтальное масштабирование сервера (увеличение/уменьшение числа экземпляров) приводит к изменению хэш-кольца маршрутизации. В результате соединения с одним и тем же именем хоста будут попадать на другой серверный под.
Маршрутизация с учетом реплик не работает из коробки с Private Link
Клиентам необходимо вручную добавить DNS-запись, чтобы разрешение имен работало для нового шаблона имени хоста. При неправильном использовании это может привести к неравномерной нагрузке на сервер.
Настройка маршрутизации с учётом реплик
Чтобы включить маршрутизацию с учётом реплик, пожалуйста, обратитесь в нашу службу поддержки.