3

アマゾン ウェブ サービス (AWS) を使用しており、複数のウェブ サーバーとロード バランサーがあります。Web サーバーの問題は、$_SESSION がそれぞれに固有であることです。ユーザーに関する情報を $_SESSION に保持しています。

この情報を同期する適切な方法は何ですか? これらのセッションが保持されている場所を統合する方法はありますか、またはこのデータを保存するために MySQL を使用する必要がありますか (最後のオプションはあまり好きではありません)。

4

3 に答える 3

7

あなたが探しているのは「Sticky Sessions」だと思います。私が正しければ、Amazon は 2 つの異なるオプションを提供します。

ロードバランサー (期間ベース、これをお勧めします) http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html#US_EnableStickySessionsLBCookies

アプリケーションベースのセッション固定性 http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html#US_EnableStickySessionsAppCookies

于 2012-05-23T21:53:10.707 に答える
1

上記の回答に加えて、Amazon の有料サービスである DynamoDB のような分散キャッシュをお探しですか。使用するのは驚くほど高速で優れていますが、他のオープンソースの代替手段を探している場合は、次のメモリ読み取り/書き込みオプションを確認できます。

  1. Memcached - 読み取り/書き込み比率が高い場合に最適です。開発者コミュニティからの軽量で優れたサポート。
  2. JCS - Java キャッシング システム - 柔軟性が高く、読み取り/書き込み比率が低いシステムに適しています。また、レプリケーションをカスタマイズすることも優れており、粘着性のレベルによっては、ELB がある程度の粘着性を維持しているため、Web アプリの単純なメモリの読み取り/書き込みと同じくらい常に高速になります。したがって、セッションが他のインスタンスに送信されると、セッション情報がコピーされます。私たちはこれを使用しており、これまでのところ良い結果を得ています。
  3. EhCache - 確立されたキャッシング フレームワークですが、その分散キャッシュ サービスは完全に無料で使用できるわけではありません。この場合、実際には必要ない完全なレプリケーションが保証されるため、やり過ぎかもしれません。
于 2012-07-10T06:46:58.880 に答える