lufty11
Goto Top

Sticky sessions, Persistence auf Load Balancer

Ich bin im Begriff einen Load Balancer vor mehrere Anwendungsserver (nenn wir sie A, B, C) zu stellen. Wenn nun ein Client einen HTTPS-Request auf Server B macht und in Folge noch mehrere Requests in dieser Session macht, sollen seine Requests immer auf Server B gehen.
Jetzt bieten die verschiedenen Load Balancer mehrere Optionen um sticky sessions zu ermöglichen:

Source IP address: geht nicht, wegen NAT
SSL Session ID: geht nicht, weil ab IE 5 und mittlerweile Firefox die SSL Session ID alle paar Minuten ändern
Cookies: geht nicht, weil ja die Requests verschlüsselt sind

Die meisten Load Balancer bieten Hardware SSL Beschleuniger. Kann man dadurch trotzdem Cookie-basierte Verfahren verwenden? Bzw. gibt es noch andere Möglichkeiten um Persistenz sicherzustellen? Cookies sind ja im allgemeinen nicht so angenehm...
Hat jemand von euch Erfahrung mit Load Balancern? Empfehlungen?


Greets

Content-Key: 106140

Url: https://administrator.de/contentid/106140

Ausgedruckt am: 28.03.2024 um 16:03 Uhr

Mitglied: aqui
aqui 16.01.2009 um 10:14:00 Uhr
Goto Top
Der Load Balancer führt eine Session Tabelle wenn du NAT machen musst was man normalerweise nicht muss.
Sticky sessions funktionieren somit immer ebenso wie Cookies und das natürlich auch wenn du SSL Beschleunigung aktiv hast und auch Adress Translation machst auf dem LB.
Jedenfalls ist das so bei Produkten von F5 und Foundry Networks.
Damit ist dein Problem ohne Hindernisse mit solcher Hardware lösbar !
Ist ja auch so zigtausendfach im Einsatz bei Banken und anderen die sicherheitsrelevante Server betreiben..also nix Neues und ein alter Hut !
Mitglied: lufty11
lufty11 16.01.2009 um 12:01:40 Uhr
Goto Top
Das heisst, um cookies werd ich nicht herum kommen? Source IP funktioniert nicht, wegen NAT und Proxy Servern - man kann die IP nicht zuverlässig einem User zuordnen.
Natürlich gibt es solche Lösungen zb bei Banken - verwenden die auch Cookies oder gibt es zuverlässige Cookie-freie Lösungen? Beim Online-Dienst meiner Bank muss ich zb Cookies aktivieren...
Mitglied: aqui
aqui 17.01.2009 um 14:30:02 Uhr
Goto Top
Nein zu 80% werden sticky Sessions benutzt. Das bedeutet dann aber das HTTPS User nicht mehr pro Session gebalanced werden sondern auf einem Server verbleiben.
Ist aber nicht weiter schlimm, denn die Verteilung ist trotzdem recht homogen.

Nur wenn man partout nicht mit Sticky arbeiten will, dann bleibt dir nur das Cookie Switching...

Sticky ist aber meist das Verfahren der Wahl bei SSL...
Mitglied: lufty11
lufty11 19.01.2009 um 08:14:25 Uhr
Goto Top
Hm, verstehe ich da jetzt was falsch? Sticky session ist ein Verfahren? Ich dachte, sticky session wird durch Verfahren wie cookie switching realisiert!?

Zitat von @aqui:
... Das bedeutet dann aber das
HTTPS User nicht mehr pro Session gebalanced werden sondern auf einem
Server verbleiben....

Wie wird das gewährleistet? Der Load Balancer muss doch jeden Request (vor allem den "ersten") einem Benutzer zuordnen können.
Mitglied: aqui
aqui 19.01.2009 um 17:03:52 Uhr
Goto Top
Richtig ! Sticky und Cookie sind definitiv zwei unterschiedliche Verfahren (Jedenfalls bei F5 und Foundrys Server Iron).

Bei Sticky merkt sich der Balancer den User anhand einer IP und weist einer Session immer einen festen Server zu.
Bei Cookies passiert das auf Basis der Cookies eben also pro Endgerät.

Beides sind 2 unterschiedliche Verfahren, wie gesagt !!!
Mitglied: lufty11
lufty11 21.01.2009 um 08:37:37 Uhr
Goto Top
OK, ich verstehe. Das ist also wahrscheinlich Definitionssache...

Hast du mit Geräten von Foundry Networks bzw F5 Erfahrung, d.h. hast du diese schon verwendet? Funktioniert Persistenz mit dem IP-Verfahren zuverlässig?