Wir betreiben mongodb-Instanz, um Daten in einer Sammlung zu speichern, keine Probleme damit und mongo ist unser Hauptdatenspeicher.Nutzen Sie Hazelcast anstelle von MongoDB zum Speichern von Benutzersitzungen/Schlüsseln?
Heute werden wir die Oauth2-Unterstützung für das Produkt entwickeln und die Benutzersitzungen (Sicherheitsschlüssel, Zugriffstoken usw.) speichern und das Zugriffstoken erst nach dem definierten Authentifizierungsserver validieren Timeout, damit nicht jede Anfrage auf die Validierung durch den Authentifizierungsserver wartet. Die erste Anforderung für eine gesicherte Ressource (create) muss immer gegen den Authentifizierungsserver authentifiziert werden. Jede weitere Anfrage wird intern validiert (Cache) und das interne Timeout überprüft. Erst wenn sie abgelaufen ist, wird eine weitere Anfrage an den Authentifizierungsserver ausgegeben.
Um diese Anforderungen zu lösen, müssen wir eine Art von verteilten Cache einführen, um (mit TTL-Unterstützung) die Benutzersitzungen usw. zu speichern, verfallen sie basierend auf einem TTL .. .i schrieb darüber oben.
zwei Möglichkeiten:
- speichern Benutzersitzung im Hazelcast und stelle sie in allen App-Server - gute Wahl, alle Benutzersitzung in Räumung Karte weiter besteht.
- Benutzer Sitzungen in MongoDb speichern - und das Gleiche tun.
Haben Sie keine Vorteile sehen Hazelcast zu verwenden, anstatt die temporären Daten innerhalb Mongo zu speichern? Irgendwelche signifikanten Leistungsverbesserungen, die Ihnen bekannt sind?
Ich bin neu in Hazelcast, also nicht über alle Killer-Funktionen bewusst sein.
Nicht sicher Hazelcast, aber haben Sie überprüft, Couchbase? Seine Enterprise-Klasse Memcached kompatible Implementierung. Seine Leistung ist viel besser als MongoDB und Cassandra. Sehen Sie es hier: http://www.couchbase.com/couchbase-server/why-couchbase – user1697575