4ノード(仮想マシン)間でBDR(Bi-Directional Replication)を使ってPostgreSQLのマルチマスターレプリケーションをセットアップしました。
今、高可用性のためにロードバランサーを配置したいと考えています。このために、5432/tcp で接続をリッスンしている別の仮想マシンに「HAProxy」をインストールして構成しました。haproxy の構成は次のとおりです。
listen pgsql_bdr *:5432
mode tcp
option httpchk
balance roundrobin
server master 192.168.123.1:5432 check backup
server slave1 192.168.123.2:5432 check
server slave2 192.168.123.3:5432 check
server slave3 192.168.123.4:5432 check
HAProxy サーバーの IP アドレスは 192.168.123.5 です。
アプリケーションで HAproxy サーバーの IP アドレスを使用してデータベースに接続しました (接続を実際のデータベース サーバーにリダイレクトする必要があります)。しかし、その時点で次のエラーが発生します。
サーバーへの接続エラー: サーバーが予期せず接続を閉じました。これはおそらく、リクエストの処理前または処理中にサーバーが異常終了したことを意味します。
そして、私は2つの方法で問題を解決しようとしたことに注意してください. まず、すべてのサーバー (HAProxy およびすべての postgres サーバー) でファイアウォールを無効にし、構成を次のように置き換えようとしました。
listen pgsql_bdr 0.0.0.0:5432
また
listen pgsql_bdr 127.0.0.1:5432
また
listen pgsql_bdr localhost:5432
しかし、私の場合、すべてが機能していませんでした。
問題を解決するのを手伝ってください。このシナリオで私が間違っていることは何ですか?
前もって感謝します!