Ich habe einen Postgresql-Cluster (mit einem Master-Knoten und einem Slave/Standby-Knoten) mit Patroni eingerichtet. Ich möchte den HA-Proxy vor meinem Cluster verwenden. Ich denke in diesem Fall HA Proxy selbst könnte ein einzelner Fehlerpunkt sein. Also um dieses Problem zu vermeiden, wenn ich mehrere Knoten für den HA-Proxy verwenden. Dann ist nicht sicher, wie der Client die Verbindung bei einem Ausfall der IP des HA-Proxys, mit dem der Client verbunden ist, verarbeiten wird. (Oder wir können sagen, wie client/client_app zwischen verschiedenen verfügbaren IPs des HA-Proxy umschaltet).Wie Client wird die Verbindung im Falle eines Fehlers von IP des HA-Proxy
Antwort
Für den Client/die Anwendung selbst hängt das von Ihrer Implementierung ab.
Grundsätzlich liegt es in Ihrer Verantwortung, Verbindungsfehler (z. B. getrennt/fallen gelassen) zu beheben und so zu tun, wie Sie es tun - z. B. erneut verbinden.
Sie können so etwas wie keepalived verwenden, um IP B. über von HAProxy Einem Griff scheitern
Ich denke, die Frage ist, was mit mehreren haproxy an die Client-Verbindung in dem HA-Setup passieren würde, wenn die haproxy Instanz der Client Verbindung zu geht nach unten.
Im besten Fall erhält Ihr Client einen Fehler und stellt die Verbindung zur nächsten verfügbaren Instanz wieder her. Sie können Ihre haproxy-Instanzen über das DNS round-round oder mit dem Floating-up-Befehl zwischen ihnen hin- und herwechseln oder den haproxy kaskadieren, indem Sie die auf die Anwendung gerichtete Instanz auf demselben Host wie die Anwendung selbst festlegen. In jedem Fall, wenn Ihre Haproxy-Instanz nicht verfügbar ist, werden Ihre Verbindungen beendet. Es gibt keinen Weg darum herum.
? was ist die Frage –