コレクションにデータを保存するためにmongodbインスタンスを実行していますが、問題はありません。mongoがメインのデータストレージです。
今日は、製品のOauth2サポートを開発し、ユーザーセッション(セキュリティキー、アクセストークンなど)を保存する必要があります。アクセストークンは、定義されたタイムアウト後にのみ認証サーバーに対して検証する必要があります。すべてのリクエストは、認証サーバーによる検証を待ちます。保護されたリソースの最初の要求(作成)は、常に認証サーバーに対して認証される必要があります。後続のリクエストはすべて内部で検証され(キャッシュ)、内部タイムアウトがチェックされ、有効期限が切れた場合にのみ、認証サーバーに別のリクエストが発行されます。
その要件を解決するには、ある種の分散キャッシュを導入し、ユーザーセッションなどを(TTLサポートを使用して)保存し、ttlに基づいて期限切れにする必要があります。..iは上記で説明しました。
ここで2つのオプション:
- ユーザーセッションをヘーゼルキャストに保存し、すべてのアプリサーバー間で共有します。これは、すべてのユーザーセッションをエビクションマップに保持するための良い選択です。
- ユーザーセッションをMongoDbに保存します-そして同じことをします。
Mongo内に一時データを保存する代わりにHazelcastを使用する利点はありますか?あなたが知っている重要なパフォーマンスの改善はありますか?
私はHazelcastを初めて使用するので、すべてのキラー機能については気にしないでください。