私は現在、システムを構成する複数のサーバーがある設計段階にあり、各サーバーがアクセスできるようにセッション情報を保存する最良の方法を見つける必要があります。セッション情報は基本的に、セッション ID の GUID とユーザー グループ名のリストです。
主なクライアント アプリケーションは、Web アプリとモバイル アプリです。
私は次の構成を持っています:
すべてのユーザーがログインし、ユーザーに対応するユーザー グループ情報がセッション オブジェクトに入力されるマスター サーバー。ログインのピーク時には、最大 10,000 人のユーザーがいる可能性があります。
アーカイブ コンテンツを含むスレーブ サーバーとほとんどのユーザーは、UI を介してスレーブ サーバーと直接通信します。スレーブサーバーは、マスターサーバーで最初に決定されたセッション情報を必要とします。
1 つのオプションは、各ログインのセッション データをスレーブ サーバーに移動し、それをスレーブにキャッシュすることでした。これにより、各スレーブは独立して動作し、マスター サーバーを参照する必要がなくなります。
もう1つのオプションは、セッション情報を含む中央データベースを持つことですが、データベースは各サーバー上にあるため(データベースサーバーとして機能する別のマシンはありません)、各スレーブはマスターに戻るリモート接続文字列を持ちますサーバーデータベース。スレーブサーバーからリモートでデータベースにクエリを実行する必要がある場合、これにより速度が低下することは間違いありません。
次に、セッションをクリーンアップする必要がある状況がありますが、通常、ログインのピーク時に 25 MB を超えるデータは期待できません。
最大 10 台のスレーブ サーバーを使用できます。
最善の解決策は何ですか?