Перейти к основному содержанию
Перейти к основному содержанию

Маршрутизация с учетом реплик

Private preview in ClickHouse Cloud

Маршрутизация с учетом реплик (также известная как 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, которая является алгоритмом маршрутизации по умолчанию.

Ограничения маршрутизации с учетом реплик

Маршрутизация с учетом реплик не гарантирует изоляцию

Любой сбой в работе сервиса, например перезапуск серверных подов (по любой причине, такой как обновление версии, сбой, вертикальное масштабирование и т. д.), горизонтальное масштабирование сервера (увеличение/уменьшение числа экземпляров) приводит к изменению хэш-кольца маршрутизации. В результате соединения с одним и тем же именем хоста будут попадать на другой серверный под.

Клиентам необходимо вручную добавить DNS-запись, чтобы разрешение имен работало для нового шаблона имени хоста. При неправильном использовании это может привести к неравномерной нагрузке на сервер.

Настройка маршрутизации с учётом реплик

Чтобы включить маршрутизацию с учётом реплик, пожалуйста, обратитесь в нашу службу поддержки.