永続性

重要な問題は、負荷分散サービスが動作する方法には、ユーザーのセッションでは、複数のリクエスト間で保持する必要のある情報を処理することです。この情報をローカルに1つのバックエンドサーバー上で、その後の要求を別のバックエンドサーバーにそれを見つけることができない人がいるだろう格納されます。つまり、この場合の負荷を別のバックエンドサーバーには、パフォーマンスの問題を紹介する要求のバランスを再計算することができますこのキャッシュされたかもしれない情報です。

セッションデータの問題の1つのソリューションは、同じバックエンドサーバーを一貫して、ユーザーセッション内のすべての要求を送信することです。これは、"永続性"や"粘り"として知られている。この手法には重大な欠点は、自動フェールオーバーがないのです:もしバックエンドサーバーがダウンし、そのセッションごとの情報、およびすべてのセッションをそれに応じてアクセスできなくなって失われて行く。同じ問題は、通常、中央のデータベースサーバーに関連しています;場合でも、Webサーバが"ステートレス"ではなく""粘着性は、中央のデータベース(下記参照)です。

特定のサーバーに割り当て、ユーザー名に、クライアントのIPアドレス、またはランダムに割り当て基づいている場合があります。は、DHCP、ネットワークアドレス変換、および WebプロキシクライアントのIPアドレスを要求間で変更することがあり、したがって、このメソッドやや不安定なことができるのおかげで。ランダムに割り当ては、記憶の負担を作成し、ロードバランサによって記憶される必要があります。場合は、ロードバランサに置き換えているか失敗すると、この情報が失われること、および割り当てを削除するためのタイムアウト期間後にする必要がありますか、高負荷の期間の間にスペースが割り当てテーブルがご利用いただけます超過を避けるために。ランダムに割り当てメソッドはまた、クライアントは、問題になることができますいくつかの状態を維持する必要があります例えば、ときに、Webブラウザのクッキーが無効に記憶しています。洗練されたロードバランサのいくつかのいずれかの方法の欠点を避けるために複数の永続性のテクニックを使用します。

もう1つのソリューションは、データベース内のセッションごとのデータを保持することです。一般に、これはパフォーマンスの後は、データベース上の負荷:データベースの最適以下の一時的な1泊以上の情報を格納するために、セッションデータが使用されて増加が悪い。単一障害点になるから、データベースを防止するため、スケーラビリティを向上させるために、データベースを頻繁に複数のマシンで、ロードバランシングをレプリケートされ、これらのレプリカには、クエリの負荷を分散するために使用されます。マイクロソフト社のASP.net州立Serverの技術セッションをデータベースの一例です。状態サーバーおよびサーバーファーム内の任意のサーバー上のセッションデータは、データを取得することができるWebファームストア内のすべてのサーバー。