> ## 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.

# レプリカ対応ルーティング

> レプリカ対応ルーティングで 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>;
};

レプリカ対応ルーティング (sticky sessions、sticky routing、または session affinity とも呼ばれます) では、[Envoy proxy の ring hash ロードバランシング](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers#ring-hash)を使用します。レプリカ対応ルーティングの主な目的は、cache を再利用できる可能性を高めることです。分離を保証するものではありません。

サービスでレプリカ対応ルーティングを有効にすると、サービスのホスト名の前にワイルドカードサブドメインを許可します。ホスト名が `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 がこのようなパターンに一致するホスト名を受信すると、そのホスト名に基づいてルーティング hash を計算し、計算された hash に基づいてハッシュリング上の対応する ClickHouse server を見つけます。サービスに変更が発生していない (たとえば、server の再起動やスケールアウト/スケールインが行われていない) と仮定すると、Envoy は常に同じ ClickHouse server を選択して接続します。

なお、元のホスト名では引き続き `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">
  ### プライベートリンクでは、レプリカ対応ルーティングはそのままでは機能しません
</div>

新しいホスト名パターンで名前解決を機能させるには、お客様が DNS エントリを手動で追加する必要があります。設定を誤ると、サーバー負荷の偏りが生じる可能性があります。

<div id="configuring-replica-aware-routing">
  ## レプリカ対応ルーティングの設定
</div>

レプリカ対応ルーティングを有効にするには、[弊社サポートチーム](https://clickhouse.com/support/program)までお問い合わせください。
