Session-Replikation über JVMs in WebSphere
Haben wir eine Infrastruktur aufgebaut, auf dem in die Webserver-Cluster und application-Server nicht. Der Webserver weiterleiten der Anforderung zu dem Anwendungs-Server basiert auf round-robin-Politik.
In diesem Szenario werden die session-Daten in einem application server ist nicht verfügbar in der anderen Applikation-server. Ist es sowieso, durch die die session-Daten aus dem ersten application server zur Verfügung gestellt werden können, die in der zweiten Anwendung ? Die beiden application-Server auf physisch getrennten Boxen in verschiedenen Zellen.
Könnte ein Ansatz sein, um die Datenbank - gibt es andere Möglichkeiten, dies zu erreichen session-Replikation ?
InformationsquelleAutor Subramanian | 2009-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
In WebSphere gibt es im wesentlichen zwei Möglichkeiten, zu replizieren session-Daten:
Welche ist die geeignete für Ihre Anforderungen ist, hängt stark von Ihrer Anwendung Szenario:
Wie wichtig ist die Ausdauer der session-Daten, wenn Sie alle Ihre Anwendungs-Server gehen?
Wie viele session-Objekte haben Sie zu jeder Zeit gleichzeitig?
In einer DB gespeichert werden können, viele Sitzungen, ohne viel Probleme, die andere option ist immer eine Frage, wie viel Speicher verfügbar ist.
Ich würde mit der Datenbank, wenn du schon eine eingerichtet, die alle Anwendungsserver verwenden sowieso.
Hier ist der link zu der WebSphere Information Center mit den notwendigen details.
Wissen Sie, wenn websphere repliziert session-Daten zwar in der web.xml von der web-Anwendung, die tag 'verteilbar' ist nicht vorhanden? stackoverflow.com/questions/26043080/...
InformationsquelleAutor dertoni
Eine offensichtliche Lösung ist, um zu ermöglichen clustering von Anwendungsservern. Ich nehme an, aus der Art, wie Sie formuliert Ihre Frage, die Sie abgelehnt haben, diese option. Eine weitere option ist das ändern des routing durch den web-Server zu verwenden session-Affinität (Anforderungen für dieselbe Sitzung gehen Sie zu der gleichen app server).
Anderen, die, die, ich würde das zweite die Antwort von dertoni.
InformationsquelleAutor Basil Vandegriend
vielleicht kann man sich 'terracota'. seine ein caching-framework, die cache-sessions und läuft auf einem eigenen server
InformationsquelleAutor Salandur
Gibt es zwei Optionen für das clustering innerhalb von WebSphere -, session-Replikation oder-Datenbank. Wenn Sie große session-Objekte, die Sie sind am besten aus mit der Datenbank, weil es erlaubt, Sie zu entlasten stale sessions auf der Festplatte. Wenn Sie dann vertreten, dann können Sie extrahiert werden, aus der Datenbank, wenn Sie session-Replikation werden dann die Sitzungen müssen zu bleiben im Speicher, nicht nur auf Ihre Ziel-server, sondern auch die anderen Server in der Replikationsgruppe. Mit großen Sitzungen dabei kann es zu einer out-of-memory-Bedingung.
Mit Datenbank-session-handling es ist auch sehr anpassbar und nicht die Leistung merklich in den Umgebungen, die ich haben verwendet es.
InformationsquelleAutor mransley
vergessen Sie nicht, oracle coherence.
InformationsquelleAutor Ron