• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

Loadbalancing mit Apache und Sessions

Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Ich möchte mein Typo3-System mit Hilfe eines Loadbalancers und ein paar Servern etwas performanter gestalten und hab ich mich aus Kostengründen für mod_proxy von Apache entschieden.
Das dumme ist, dass ich nicht weiß, wie Typo3 die Sessions händelt und auch nicht, wie mod_proxy die Sessions händelt. Meine Vorstellung ist da einfach null. Großes schwarzes Loch. In so einer Situation finde ich es schwer einen klaren Plan zu machen, wie ich dieses Problem zeitnah lösen kann. Außerdem fehlt mir hier mindestens ein Testrechner um das mal auszuexperimentieren.

Was ich rausgefunden habe:
- beim Loadbalancer kann man den Namen des Cookies in dem die Session-ID steht angeben mit stickysession=ABCSESSID (ABCSESSID kann zum Beispiel PHPSESSID sein bei ner normalen PHP Session oder JSESSIONID bei ner Tomcat-Session)
- anscheinend mag Typo3 Cookie-Sessions (möglicher Pluspunkt)
- anscheinend gibt es ein Problem mit stickysession (möglicher Minuspunkt)

Warum ich dieses Problem lösen möchte:
- Typo3 macht die Benutzerverwaltung über Sessions. Also muss ein Benutzer, der eine Typo3-Session hat auch unbedingt wieder zum selben Server gelenkt werden.
- es ist ein wichtiger Bestandteil des Loadbalancings mit verschiedenen Sessions umgehen zu können. Ich kann also die Doku zum Loadbalancing nicht abschliessen, wenn ich in diesem Kapitel nicht bescheid weiß
 
Mitglied seit
02.08.2002
Beiträge
2.781
Reaktionen
0
wieso muss der wieder zum selben server geschickt werden?

also die standard-wege, wie man eine session mitgibt sind doch cookies oder direkt über die url - bei beidem kommt die nötige information ja beim server an - bei welchem ist dann imo egal.

probleme gibts nur, wenn jeder sever seine eigene db hat, und dieses nicht schnell abgeglichen werden können (aber imo ist es ehh sinnvoller einen dedizierten db-server zu haben)

also nochmal konkret: wo liegt dein problem? -.-
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Wenn der Server A den benutzer authentiziert und ihm eine Session gibt, dann weiß doch Server B nichts davon. Wird der Benutzer nach klicken auf einen Link nicht zufällig wieder zu A gelenkt, dann muss er sich neu einloggen. Server B kennt den User ja noch nicht. Deshalb muss der Loadbalancer erkennen, dass diese Verbindung zum selben Server geschickt werden muss.
Man könnte natürlich auch eine globale, Serverübergreifende Userverwaltung programmieren. Das dauert aber Tage bis Wochen. Ich denke, LB+Sessions muss in Minuten machbar sein (wenn man erstmal verstanden hat, wie's funktioniert).
mehr Antwort auf deine Frage hier in den ersten paar Absätzen

*edit*
Wie macht denn ingame das Loadbalancing? Bestimmt über nen Hardwareintegrierten LB in der Firewall, was? :/
Das dauert hier noch ein bisschen bis wir das Budget dafür haben ;) Hattet ihr am Anfang nicht vielleicht auch nen Software-LB am Laufen?
 
Oben