2017-06-30 11 views
0

私がフロントエンドで利用可能にしたいデータベースレプリカのクラスタを持っているとします。これらのデータベースは互いに複製します。 DBが最新の状態を複製していてもUIを一貫性を持たせることができるように、Traefikに同じクライアントIPに同じバックエンドを提供させることはできますか?traefikリバースプロキシを使用した永続的およびクラスタ化された接続

答えて

1

あなたが求めているように見えるのは、IPアドレスごとにスティッキセッション(別名セッションアフィニティ)です。

TraefikはCookieベースのスティッキーをサポートしています。つまり、関連するTraefikオプションが有効な場合、最初のリクエストでCookieが割り当てられます。それ以降のリクエストは到達可能でない限り、同じバックエンドに到達し、その時点で新しいスティッキバックエンドが選択されます。

オプションは、このように有効にすることができます。

[backends] 
    [backends.backend1] 
    [backends.backend1.loadbalancer] 
     sticky = true 

ドキュメントhere(「スティッキーセッション」を検索する)見つけることができます。

Traefikでダイナミックプロバイダの1つ(Docker、Kubernetes、Marathonなど)を実行している場合は、通常、フロントエンドごとに設定できるラベル/タグ/アノテーションがあります。 TOML configuration file documentationにはすべての詳細が含まれています。

IPアドレススペースがハッシュされ、すべてのバックエンドにトラフィックが均等に分散される、真のIPアドレスベースのスティッキ性を探している場合:open feature requestですが、これはまだできません。

+0

ありがとうございました!私たちはユースケースを完全には解決できないように思えます。ウェブフロントエンドとモバイルアプリケーションからのcouchbaseライト経由でDBに接続しています。その接続が簡単にクッキーを受け入れる/再送できるかどうかはわかりません。 –

関連する問題