Ich habe einen Ejabberd-Cluster in AWS, die ich Lastenausgleich möchte. Ich habe anfangs versucht, ein ELB vor die Knoten zu setzen, aber das macht die Sitzungen nicht-klebrig. Ich habe dann das Proxy-Protokoll auf dem ELB aktiviert und einen HAProxy-Knoten zwischen dem ELB und dem Ejabberd-Cluster eingeführt. Meine Annahme/Verständnis hier war, dass die HAProxy-Instanz den TCP-Proxy verwenden und sicherstellen würde, dass die Sitzungen auf den Ejabberd-Servern hängen bleiben.Sitzung Klebrigkeit für ejabberd TCP-Sitzungen über ELB und HAProxy
Das scheint jedoch immer noch nicht zu passieren! Ist das überhaupt überhaupt möglich? Die Einführung der Cookie-Konfiguration in der HAProxy.cfg-Datei gibt einen Fehler, dass Cookies nur für HTTP aktiviert sind, also wie kann ich TCP-Sitzungen auf dem Server bleiben sticky ...
Bitte helfen Sie so wie auf Ideen verloren scheinen Hier!
Ich erinnere mich an eine aktuelle Frage von einem anderen Benutzer wer schien zu glauben, dass das Aktivieren des Proxy-Protokolls auf einem ELB irgendwie Sessions für Ejabberd klebrig machen würde, was natürlich keinen Sinn machte. Ihr Setup, mit HAProxy nach ELB, macht zumindest Sinn, muss aber mit etwas wie ['stick on src'] konfiguriert werden (http://blog.haproxy.com/2013/04/22/client-ip- persistence-or-source-ip-hash-load-balancing /) ... aber mir ist noch unklar ... warum ist klebrigkeit überhaupt wichtig? Wenn eine Verbindung zu einem anderen Server kommt, warum ist das wichtig? Wenn Sie dies erreichen, wird es Ihr tatsächliches Problem lösen? –
Hallo @ Michael-sqlbot - danke. Ja, ich habe diese Frage gesehen - ich habe es auch nicht verstanden. Für meinen Fall, wenn ich die Sitzungen nicht klebrig mache, rotiert der Verbindungsstrom des Benutzers zwischen den verschiedenen Servern weiter und es gibt keinen lang laufenden Datenstrom. Im Wesentlichen wird der Benutzer innerhalb derselben Sitzung mehrmals abgemeldet und angemeldet. Ich denke, ich muss wahrscheinlich tiefer in das Ejabberd-Verhalten eintauchen - Mickael hat unten erwähnt, dass Klebrigkeit nicht für Ejabberd da sein muss, also werde ich weiter nachsehen ... Danke! – Samantha
ELB wird standardmäßig nach 60 Sekunden eine Verbindung im Leerlauf schließen. Haben Sie das Timeout auf einen höheren Wert umgestellt? –