web-dev-qa-db-ja.com

複数のAmazonEC2インスタンス間でのセッションの維持に問題がある

私のサイトの1つは、AmazonEC2サービスを介してホストされています。この問題は、サイトが重い負荷に直面し、AutoScalingを介して新しいEC2インスタンスを生成したときに発生し始めます。これは良いことですが、問題は、これらのインスタンスが(負荷の不足のために)強制終了されると、セッション情報も失われるため、ユーザーがサイトに再ログインする必要があることです。

この問題に取り組むための最良の方法は何ですか?

Memcached Session Manager を調べましたが、スティッキーセッションでは正常に機能しますが、サーバーに多数の並列リクエストを行うため、非スティッキーセッションを使用しようとすると問題が発生します。

私の現在のサーバーはApache + Tomcatです

役立つポインタ。ありがとう。

webmasters.stackexchangeからのクロスポスト

6
Chantz

自動スケーリングインスタンスをいつでも終了でき、セッション情報を失う余裕がない場合、自動スケーリングインスタンスにセッション情報を保存することはできません。

データベース(MySQL、RDSなど)がある場合は、そこにセッションを保存できます。これは、少量から中量のWebサイトでは問題なく機能しますが、音量が大きいと機能しなくなる可能性があります。

自動スケーリングされていないmemcachedを使用して個別のインスタンスを実行できます。

また、Amazon ElastiCache(リリースされたばかり)を検討することもできます。

http://aws.Amazon.com/elasticache/

これはMemcachedプロトコルと互換性があるため、既存のWebサーバーセッションプラグインソフトウェアは問題なく動作するはずです。

5
Eric Hammond