Load Balancing mit HAProxy für Postgresql 9.4

Ich habe eine Multi-Master-Replikation von PostgreSQL unter Verwendung von BDR (bidirektionale Replikation) zwischen 4 Knoten (virtuellen Maschinen) eingerichtet.

Nun möchte ich einen Load-Balancer für Hochverfügbarkeit einsetzen. Dafür habe ich "HAProxy" auf einer anderen virtuellen Maschine installiert und konfiguriert, die über 5432 / tcp lauscht, um eine Verbindung herzustellen. Die Haproxy-Konfiguration lautet wie folgt:

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

Die IP-Adresse des HAProxy-Servers lautet 192.168.123.5

Ich habe die IP-Adresse des HAproxy-Servers in meiner Anwendung verwendet, um eine Verbindung mit der Datenbank herzustellen (die die Verbindung zu den tatsächlichen Datenbankservern umleiten muss). Aber zu diesem Zeitpunkt erhalte ich folgende Fehlermeldung:

Fehler beim Herstellen einer Verbindung zum Server: Der Server hat die Verbindung unerwartet geschlossen. Dies bedeutet wahrscheinlich, dass der Server vor oder während der Verarbeitung der Anforderung abnormal beendet wurde.

Und beachten Sie, dass ich versucht habe, das Problem auf zwei Arten zu lösen. 1. Ich habe die Firewall auf allen Servern (HAProxy und allen Postgres-Servern) deaktiviert und ich versuche auch, die Konfiguration durch folgende zu ersetzen:

listen pgsql_bdr 0.0.0.0:5432

ode

listen pgsql_bdr 127.0.0.1:5432

ode

listen pgsql_bdr localhost:5432

Aber in meinem Fall funktionierte nicht alles.

Bitte helfen Sie mir, das Problem zu lösen. Was mache ich falsch in diesem Szenario?

Danke im Voraus

Antworten auf die Frage(4)

Ihre Antwort auf die Frage