タグ

sessionとtomcatに関するy-kobayashiのブックマーク (3)

  • アプリケーションサーバをダウンさせる時に、セッションをどうするか? : funasaki

    前回の書き込みから随分時間が経過してしまいました。 引き続き、ロードバランサ&セッションネタを続けます。 下記のようなパターンを考えます。 アプリケーション(AP)サーバが3台立っているとします。(サーバ1,2,3) そのフロントにロードバランサが立っていて、アクセスを割り振っています。 そこで、サーバ1をダウンさせる場合、サーバ1 が持っているセッションはどうなるか? APサーバ間で、セッションレプリケーションを頻繁に行っていれば、サーバ1がダウンしても、他のサーバ2,3で同じセッションに接続できます。セッションレプリケーションを、サーバをダウンさせるタイミングで実行するように、AP 側で設定することも可能です。セッションレプリケーションにより、シリアライズされたセッション情報を DB に格納する手段もあります。 セッションのデータサイズが大きく、全 AP サーバ間で共有してしまうと、リ

  • LBを経由して、毎回同じAPサーバへアクセスさせるには?(Sticky Session) : funasaki

    ロードバランサ(LB) を立てて、バックエンドに複数のAPサーバを立ててみたけども、LBを経由して毎回同じAP サーバへアクセスさせたい時、ありますよね。APサーバ1に、一度アクセスしていて、そのセッションが保持されている場合です。そんな時に、APサーバ2にLBからアクセスが振られてしまうと、またログイン画面が表示されてしまう、というパターンに陥ることがあります。 これをLBで、どのように調整しているかというと、APサーバ1,2ごとにそれぞれ異なる識別子を持たせます。 例えば APサーバ1 には jvm1 を、APサーバ2 には jvm2 という値を識別子を持たせます。そして、個々のユーザの Cookie 内に仕込まれる JSESSIONID の末尾にこれらの値を挿入させます。( Tomcat 等のアプリケーションサーバ側の設定で、自動的に挿入されます。) ユーザ1の JSESSIONI

  • Amazon DynamoDBによるTomcatセッション永続化とフェイルオーバー | DevelopersIO

    Tomcatのセッション管理 Tomcatでクラスター構成にする場合、課題となるのがセッション管理です。ロードバランサーでセッションIDを保持することで、毎回同じサーバーにリクエストが向かうのであれば問題なさそうに見えますが、あるサーバーがダウンしてしまうとセッション情報が消えてしまいます。これを解決する方法として、データベースにセッション情報を保持する方法が一般的ですが、データベースへ負荷が掛かりますし、データベースが落ちたら困ります。何かもっと良い方法は無いかと皆さん思っていたはずです。そこで、AWSですよねー。AWSでは、ElastiCacheやDynamoDBがサービスとして提供されています。ここで、永続化をしっかりやってくれるのはDynamoDBであり、AWS SDK for Javaでの登場が待たれていたわけです。そして、このたび出てきました! スティッキーセッション ロードバ

    Amazon DynamoDBによるTomcatセッション永続化とフェイルオーバー | DevelopersIO
  • 1