Ich arbeite an verteilter Webanwendung und entschied uns, das Webmodul von den Geschäftsdiensten zu trennen, um es besser skalierbar zu machen.Sitzung in verteilter Anwendung verwalten
Hier ist die Situation: Wir haben eine Server-Instanz, die Web-Anwendung (Controller, JSPs, etc) und viele Server-Instanzen mit Business-Services hält. Wenn die Webanwendung irgendwelche Daten benötigt, fragt sie einen vorhandenen Geschäftsserver über Hessian ab, erhält dann die Antwort und zeigt Daten an.
Momentan rufen wir Daten aus der Datenbank ab, basierend auf dem eingeloggten Benutzer, und dies kann nicht geändert werden, so dass jeder Server wissen sollte, welcher Benutzer die Aufgabe erledigt hat.
Meine Frage ist: Kennen Sie die Lösung, um Benutzersitzung über mehrere unabhängige Anwendungen zu halten?
Zum Beispiel kann eine der Lösungen Benutzername mit jeder Anfrage senden, aber das ist keine sehr gute Idee für uns.
Vielen Dank
Danke euch allen. Ich habe die beste Lösung gefunden. Wir sollten einfach den Benutzernamen (oder was auch immer) als HTTP-Anfrage-Header hinzufügen und auf der anderen Seite abrufen. Es ist sehr einfach mit Hessian sollten Sie nur HessianProxy erweitern und addRequestHeaders (URLConnection) -Methode implementieren. Pass auf dich auf – oyushche