私は現在MVC上に構築された新しいWebサイトを設計していますが、状態を管理する正しい方法は何でしょうか。
状態には、userIdとユーザー情報のいくつかの構造体が含まれている必要があり、ユーザーがログインしている間(http要求全体で)ユーザーのセッション全体を通じて保持される必要があります。
重要な基準:
1)スケーラビリティのサポート
2)パフォーマンス
簡単な方法はSessionオブジェクトを使用することですが、スケーラビリティはサポートされていません。セッション中に異なる要求が異なるIISサーバーを通過する場合、セッションは保持されません。単一のセッションのすべての要求を同じマシンにルーティングする負荷分散ツールについて聞いたことがありますが、それに依存するのが良い習慣かどうかはわかりません(そうではありませんか?)
私が読んだもう1つのオプションは、RAM DBを実行している特別な状態サーバー(Linuxの場合はCassandra、Windowsの場合はRedisなど)に状態データを保持することです。しかし、開発のこの段階ではやり過ぎのように思えます。
他に何か提案はありますか?現時点では単純なものから始めたいと思いますが、将来的にはより高度なソリューションに備えて設計を準備しておいてください。
ベストプラクティスまたはコード/設計の提案をいただければ幸いです。
ありがとう、
エディ。