Christian Kruse: Perl: Sessions halten bei mehreren Servern (Serverfarm)

Beitrag lesen

Hallo TS,

Das System wäre extrem fehleranfällig!

Nö, funktioniert gut. Wie etwa hier im Forum zu sehen. Und es funktioniert so gut, dass es der best practice ist…

"Funktioniert gut" ist keine Aussage über die Zuverlässigkeit.

Natürlich ist es das. Sonst hätte ich ja nicht „funktioniert gut“ geschrieben, sondern „funktioniert schlecht.“

Und dass Tausende von Leuten fehlerhafte Konzepte benutzen, macht die Konzepte nicht richtiger.

Weniger Arroganz. Best practices entwickeln sich nicht aus dem Bauch heraus. Wenn man mit seiner Art und Weise etwas zu tun zur Minderheit gehört, dann ist es meistens nicht so, dass man es besser weiß als der Rest der Branche sondern eher so, dass man mit seiner Art etwas umzusetzen daneben liegt.

Ich nehme jetzt einfach mal an, dass Du mir auf humorvolle Weise sagen wolltest, dass Dich das nicht weiter interessiert?

Fast richtig. Die Session sollte eh nur Daten enthalten, die nicht wichtig sind (etwa die User-ID des Logins, vielleicht nochmal eine Nachricht über den Erfolg oder den Misserfolg der Aktion), das ist kein Zwischenspeicher. Dein „wenn ich mal 2mb in der Session habe“ deutet darauf hin, dass du Sessions missbrauchst. User-Daten gehören nicht in die Session, dafür gibt es andere Techniken (welche angemessen sind, kann ich ohne Hintergrund-Informationen nicht sagen).

SSHFS ist so ziemlich die langsamste und fehleranfälligste Variante, die man sich einfallen lassen kann. Da sind selbst Session-Daten auf einem NFS-Share noch deutlich robuster…

Im abgesicherten LAN-Betrieb mag man gerne unverschlüsselte Techniken benutzen. Vielleicht gibt es auch noch andere Möglichkeiten, Ressourcen im LA-Netzwerk zu teilen, die ich hier jetzt gewiss nicht alle aufzähle.

Wie ich bereits schrieb: es ist generell eine schlechte Idee, concurrent ressources über ein Netzwerk-Share zu verteilen. Das bringt viele Probleme mit sich. Nicht machen, das gibt nur Schmerzen. Wenn man etwas so stark konkurrierendes wie Sessions auf dem Server speichern will, sollte man dafür sowas wie Redis oder Memcached oder so nutzen.

LG,
CK