2010-04-22 9 views
6

Was ist der bessere Ansatz für Lastenausgleich auf Webservern? Meine Dienste werden in .NET und Mono ausgeführt, sodass sie auf IIS oder Apache2 gehostet werden können und eine SSL-Verbindung bereitstellen müssen.Load Balancing und Sitzungen

Ich habe zwei Hauptansätze gelesen, den Zustand in einem gemeinsamen Server speichern und klebrige Sitzungen verwenden, gibt es noch etwas anderes?

I 3 diffent Dinge über Sticky Sessions gelesen haben:

1) die Last Gerät, mit dem wissen Balancing-Server haben Sie die Verbindung und alle weiteren Verbindungen von diesem Host auf dem gleichen Server geroutet wird beginnen .

2) die Load-Balancing Devide genannt, ein Cookie zu lesen: JSESSIONID

3) die Load-Balancing ein Cookie Devide lesen genannt: ASPSESSIONID

Ich bin ein wenig verwirrt, was passieren wird, genau? Da die Verbindungen SSL sind, gibt es keine Chance für das Load Balancing, die Cookies zu lesen, also was dann?

Über das Geschäft in einem gemeinsamen Server zu speichern, welche Lösungen kennen Sie? Ich habe gelesen Memcache ist eine gute Lösung, aber gibt es noch etwas anderes?

Prost.

+0

Ich mag diese Frage. –

Antwort

2

Bei der Verwendung von SSL mit einem Load Balancer ist es üblich, das SSL-Zertifikat auf dem Lastenausgleichsserver und nicht auf den Back-End-Servern zu speichern. Auf diese Weise benötigen Sie nur 1 Zertifikat auf 1 Server. Der Load Balancer kommuniziert dann mit den Back-End-Servern über einfaches HTTP. Dies erfordert natürlich, dass Ihre Back-End-Server nicht direkt aus dem Internet erreichbar sind.

Wenn also der Load Balancer für die Entschlüsselung der Anforderung zuständig ist, kann er auch die Anforderung für eine jsessionid prüfen.

Sticky-Sitzungen funktionieren gut mit Apache als Load Balancer. Sie sollten die Apache-Module mod_proxy und mod_proxy_balancer überprüfen.

1

Im Allgemeinen bedeutet SSL Load Balancing, dass der Client über HTTPS mit dem Load Balancer kommuniziert und der Load Balancer über HTTP mit dem Webserver kommuniziert.

Einige Load Balancer sind intelligent genug, um eine SSL-Sitzung mit dem Webserver einzurichten (damit Cookies gelesen werden können) und eine separate SSL-Sitzung mit dem Client aufrechtzuerhalten.

Und einige Load Balancer können die Klebrigkeit beibehalten, ohne Webserver-Cookies zu verwenden. Meine Load Balancer können ihre eigenen Cookies an den Client senden (sie haben auch eine Reihe anderer Stickiness-Einstellungen).