私は持っている:
- クラスター内で単一の RethinkDB インスタンスを実行する 4 つのサーバー (4 つのシャード / 3 つのレプリカ テーブル)
- 2 つのアプリケーション サーバー (tornado + RethinkDB プロキシ)
クライアントはローカル プロキシにのみ接続します。
ローカル プロキシと他のプロキシの両方を指定して、ローカル プロキシがクラッシュまたは問題が発生したときにクライアントが他のプロキシにフェールオーバーできるようにする方法を教えてください。
私は持っている:
クライアントはローカル プロキシにのみ接続します。
ローカル プロキシと他のプロキシの両方を指定して、ローカル プロキシがクラッシュまたは問題が発生したときにクライアントが他のプロキシにフェールオーバーできるようにする方法を教えてください。
以下は、私がどのようにセットアップするかについての私の意見です。
ローカル プロキシがクラッシュした場合、systemd などのプロセス モニターを使用して再起動する必要があります。
RethinkDB ローカル プロキシは使用しません。RethinkDB に転送するために、すべてのアプリ サーバーでローカルに TCP モードで実行される HAProxy を使用しました。Consul Template を使用して、RethinkDB ノードがクラスターに参加すると、HAProxy 構成が更新され、ノードが追加され、自動的に再起動されるようにしました。
HAProxy は私にとって非常に軽量で堅実です。RethinkDB だけでなく、HAProxy はローカルで実行され、MySQL/Redis など、あらゆる種類のプロキシ要求を実行します...
HAProxy には、バックアップ バックエンドなど、あらゆる種類のルーティング/フェイルオーバー シナリオがあります...