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

# Roteamento com reconhecimento de réplica

> Como usar o roteamento com reconhecimento de réplica para aumentar a reutilização do cache

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>;
};

O roteamento com reconhecimento de réplica (também conhecido como sticky sessions, sticky routing ou afinidade de sessão) utiliza o [balanceamento de carga ring hash do proxy Envoy](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers#ring-hash). O principal objetivo do roteamento com reconhecimento de réplica é aumentar a chance de reutilização de cache. Isso não garante isolamento.

Ao habilitar o roteamento com reconhecimento de réplica para um serviço, permitimos um subdomínio curinga sobre o hostname do serviço. Para um serviço com o hostname `abcxyz123.us-west-2.aws.clickhouse.cloud`, você pode usar qualquer hostname que corresponda a `*.sticky.abcxyz123.us-west-2.aws.clickhouse.cloud` para acessar o serviço:

| Hostnames de exemplo                                                     |
| ------------------------------------------------------------------------ |
| `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` |

Quando o Envoy recebe um hostname que corresponde a esse padrão, ele calcula o hash de roteamento com base no hostname e encontra o servidor ClickHouse correspondente no anel de hash com base nesse valor. Supondo que não haja nenhuma alteração em andamento no serviço (por exemplo, reinicializações do servidor, scale out/in), o Envoy sempre escolherá o mesmo servidor ClickHouse para se conectar.

Observe que o hostname original continuará usando o balanceamento de carga `LEAST_CONNECTION`, que é o algoritmo de roteamento padrão.

<div id="limitations-of-replica-aware-routing">
  ## Limitações do roteamento com reconhecimento de réplicas
</div>

<div id="replica-aware-routing-does-not-guarantee-isolation">
  ### Replica-aware routing não garante isolamento
</div>

Qualquer interrupção no serviço, por exemplo, reinicializações de pods do Kubernetes do servidor (por qualquer motivo, como upgrade de versão, falha, aumento de escala vertical etc.) ou aumento/redução de escala do servidor, causará uma interrupção no anel de hash usado no roteamento. Isso fará com que conexões com o mesmo hostname sejam direcionadas para um pod do Kubernetes do servidor diferente.

<div id="replica-aware-routing-does-not-work-out-of-the-box-with-private-link">
  ### O roteamento com reconhecimento de réplicas não funciona por padrão com Private Link
</div>

Os clientes precisam adicionar manualmente uma entrada DNS para que a resolução de nomes funcione com o novo padrão de hostname. Se usado incorretamente, isso pode causar desequilíbrio na carga entre os servidores.

<div id="configuring-replica-aware-routing">
  ## Configurando o roteamento com reconhecimento de réplicas
</div>

Para ativar o roteamento com reconhecimento de réplicas, entre em contato com [nossa equipe de suporte](https://clickhouse.com/support/program).
