Wie bringt man HAproxy dazu, die IP-Adresse des nächsten DB-Servers zurückzugeben?

Wie bringt man HAproxy dazu, die IP-Adresse des nächsten DB-Servers zurückzugeben?

Ich möchte HAproxy verwenden, um zu prüfen, ob meine Datenbankserver online sind, ohne die Anfragen tatsächlich über die HAproxy-Box zu leiten. Gibt es eine Möglichkeit, eine Verbindung zu HAproxy herzustellen und mir eine IP-Adresse des Datenbankhosts zurückgeben zu lassen?

Beispiel: Von Webserver Nr. 1 verbinde ich mich mit HAproxy über Port 3306. HAproxy lauscht auf 3306 und gibt DB-Host Nr. 1 aus einer Liste von DB-Hosts zurück (Round Robin). Dann verbinde ich mich von Webserver Nr. 1 direkt mit DB-Host Nr. 1.

Antwort1

Nicht mit Vanilla Haproxy, aber ich hatte das gleiche Problem und habe Haproxy gepatcht, um genau diese Funktionalität hinzuzufügen. Es könnte irgendwann in Haproxy selbst enthalten sein (der Autor war davon überzeugt, forderte aber einige Änderungen, zu denen ich noch nicht gekommen bin).

Wenn Sie interessiert sind, werde ich diesen Patch weitergeben. Aber fragen Sie sich bitte, ob Sie ihn wirklich brauchen. Warum ist „normales“ Loadbalancing nicht gut genug? Vielleicht mit direkter Serverrückführung, damit der Rückverkehr den Loadbalancer umgeht. Ein stabiles, unterstütztes Produkt zu betreiben, ist möglicherweise wünschenswerter als dasgenauDie gewünschte Funktionalität (die meines Wissens in keinem Open-Source-Loadbalancer vorhanden ist, noch nicht einmal in den Closed-Source-Loadbalancern, die ich mir angesehen habe).

verwandte Informationen