2012-10-02 11 views
7

Ich habe eine Web-Anwendung mit Feder auf einem Anlegesteg Server geschrieben. Wegen des Lastausgleichs muss ich HTTP-Sitzungen und Spring-Security-Kontexte über die Webserver replizieren.Wie kann ich eine Federmvc-Anwendung zusammenfassen?

Kann mir jemand an einem Arbeitsbeispiel zeigen, wie man das möglich macht?

die mvc controller sind teil der feder-sicherheit-oauth2 also habe ich begrenzte fähigkeiten sie zu beeinflussen und der anlegesteg ist eine voraussetzung für unsere umwelt. Für die meisten Daten und das Caching werden wir Infinispan verwenden.

Ich konnte keine aktuelle Information finden, wie tu Cluster mit Frühling, also bin ich dankbar für jede Hilfe.

Antwort

7
  1. Was staatenlos ist, skaliert automatisch aus (wie die meisten von Spring-Beans und Controller)

  2. Was geteilt wird, müssen oder alle Instanzen im Cluster repliziert werden müssen, teilen auf

    1. HTTP-Sitzungen müssen repliziert werden. Wenn sie sind, Frühling Sicherheit (die Sicherheitskontext in der Sitzung speichert wird arbeiten nur

    2. Datenbank wird funktionieren - Sie werden entweder nur ein verwenden oder replizieren sowie

    3. Infinispan Replikation behandeln soll von in-Memory-Caches

Vorausgesetzt, dass Sie nur Serializable Elemente in HTTP-Sitzung speichern und in Caches, Ihre Anwendung Clustering sollte nur wo rk. Achten Sie auf synchronisierten Code (sollten Sperren verteilt werden?) Und stateful Beans.

Siehe

+0

ich bin mir bewusst, diese Dinge, aber ich kann kein Beispiel/Dokumentation überhaupt finden, die erklärt, wie Frühling/Anlegestelle konfigurieren Sitzungsreplikation zu tun. – Laures

+1

@Laures: Für das, was ich sehe Jetty (mindestens 6) unterstützt nicht Session-Replikation out-of-the-Box. Sie müssen eine Lösung darüber verwenden, wie Hazelcast, Gigaspace, JGroups, Terracotta, Datenbank ... Siehe: http://webtide.intalio.com/2011/08/nosql-sessions-with-jetty7-and-jetty8/Überlegen Sie auch, zu Tomcat zu wechseln, das das standardmäßige Clustering unterstützt. Aus der Perspektive des Spring-Frameworks müssen Sie nichts ändern (außer Ihrem Design, falls erforderlich). –

+0

großartig. Ich habe irgendwie erwartet, dass ich einige infispan/haselnuss-basierte Frühjahrssession-Speicher-Bean erstellen und irgendwo im Mvc-Namespace konfigurieren müsste. Jetzt kann ich das direkt im Anlegesteg tun, da der Wechsel zum Kater wahrscheinlich keine Option ist. – Laures

Verwandte Themen