web-dev-qa-db-ja.com

プライマリサーバーがオンラインに戻ったときに、HAProxyにTCP接続をリセットさせる

高可用性のために2台のサーバー間でTCPアプリケーションをサポートするようにHAProxyを設定しました。そのため、一方のサーバーをプライマリとして、もう一方をバックアップとしてHAProxyを構成しました。バックアップサーバーはほぼ完璧ですが、現在見られる問題が1つあります。

プライマリサーバーがダウンすると、クライアントの接続がリセットされ、クライアントが再接続を試みると、必要に応じてバックアップサーバーに接続します(現在の「Cur」接続がbackendAからバックアップbackendBシステムにどのように移行するかを確認できます[色付き青] Aが下がったとき) Primary system up, connections flowing to itPrimary down, backup now serving clients

問題は、プライマリサーバーがオンラインに戻ったときに、クライアントがバックアップサーバーへの接続を開いたままにしていることです。 Primary server up, but connections still opened to backup server

アプリケーションの動作の性質上、このバックアップサーバーへの接続を維持することは理想的ではありません。プライマリサーバーが復旧したときにバックアップサーバーへの接続を閉じる方法はありますか?その接続をリセットすると、クライアントはプライマリサーバーに再接続し、問題を修正します。

現在の設定(haproxy.cfg)のこのセクションのブロックは、次のようになっています。

backend ldm_back
server backendA 172.31.xxx.xxx check port 388
server backendB 172.31.yyy.yyy check port 388 backup
2
Devin

おそらくかなり新しいバージョンのHAProxyが必要ですが、 this を使用してそれを行うことができます。

2