データベースを展開できる複数のノードを含むDocker Swarm上でPostgresql DBを実行する。 Dockerバージョン1.12以降を使用しています。Docker Swarm JDBC接続
データコンテナを使用すると、Postgresqlのフェイルオーバーがうまく機能しています。今私は、JavaクライアントをDBに接続させて、フェールオーバーにも耐えたいと思っています。ここでJDBC接続をどのように管理する必要がありますか?接続文字列は変更されますか?他の場所で動作しているnginxのコンテナのようなものを通して管理されるべきですか?この例はどこにでもありますか?概念的には、私はこれを別の(nginxのような)コンテナに移動すると思うが、細部を酷くすることはできない!
ありがとうございます - 私はこれを試してみましょう! FWIWは、少なくとも今のところ、swarmのすべての物理ホストにマウントされているNFSマウントのボリュームに状態を持っています。データはすべての失敗に対して動いていますが、私はまだこれを行うより良い方法を調査しています – JoeG
多くの人々がより良い方法を検討しています... NFSはパフォーマンスを犠牲にしても機能するオプションです。ここにボリュームマッピングを投稿することができれば、それは将来の読者にとって有益かもしれません。 –
接続のラウンドロビンスタイルのロードバランシングを使用するJdbcでは、面白い動作が発生する可能性があります。 IMHOより良いアイデアは、1つのノードとn個のノードを持つ別のスレーブサービスとで別々のマスターサービスを開始することです。必要に応じて、マスターマスタータイプのセットアップ用に別のマスターサービスを追加することができます。 –