> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-home-button.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

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

> Как использовать маршрутизацию с учетом реплик, чтобы повысить повторное использование кэша

export const PrivatePreviewBadge = () => {
  return <div className="privatePreviewBadge">
            <div className="privatePreviewIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M5.33301 6.66667V4.66667V4.66667C5.33301 3.194 6.52701 2 7.99967 2V2C9.47234 2 10.6663 3.194 10.6663 4.66667V4.66667V6.66667" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path d="M8.00033 9.33337V11.3334" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path fillRule="evenodd" clipRule="evenodd" d="M11.333 14H4.66634C3.92967 14 3.33301 13.4033 3.33301 12.6666V7.99996C3.33301 7.26329 3.92967 6.66663 4.66634 6.66663H11.333C12.0697 6.66663 12.6663 7.26329 12.6663 7.99996V12.6666C12.6663 13.4033 12.0697 14 11.333 14Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'Private preview in ClickHouse Cloud'}
        </div>;
};

Маршрутизация с учетом реплик (также известная как sticky sessions, sticky routing или session affinity) использует [балансировку нагрузки ring hash в прокси Envoy](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers#ring-hash). Основная цель маршрутизации с учетом реплик — повысить вероятность повторного использования кэша. Она не гарантирует изоляцию.

При включении маршрутизации с учетом реплик для сервиса мы разрешаем использовать подстановочный поддомен поверх имени хоста сервиса. Для сервиса с именем хоста `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`, которая является алгоритмом маршрутизации по умолчанию.

<div id="limitations-of-replica-aware-routing">
  ## Ограничения маршрутизации с учетом реплик
</div>

<div id="replica-aware-routing-does-not-guarantee-isolation">
  ### Маршрутизация с учетом реплик не гарантирует изоляцию
</div>

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

<div id="replica-aware-routing-does-not-work-out-of-the-box-with-private-link">
  ### Маршрутизация с учетом реплик не работает «из коробки» с Private Link
</div>

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

<div id="configuring-replica-aware-routing">
  ## Настройка маршрутизации с учетом реплик
</div>

Чтобы включить маршрутизацию с учетом реплик, обратитесь в [службу поддержки](https://clickhouse.com/support/program).
