[Seasar-user:21710] Re: Tomcatでのセッションレプリケーション実装方法について

西村一昭 [E-MAIL ADDRESS DELETED]
2013年 9月 4日 (水) 20:35:19 JST


お世話になっております。
西村です。

大中さん、ありがとうございます。

> Tomcatのセッションレプリケーションはデフォルトがリクエストに対して非同期のため、
> TeedaのようなPageの処理の後リダイレクトするのが原則なフレームワークの場合、
> リダイレクトした後にリクエスト先のtomcatに(レプリケーションがまだ終わっていないため)
> セッション情報がとどかず、セッションの状態に不整合が起きる可能性があります。
> (自分が経験したのはTeedaでないフレームワークのため、あくまで可能性ですが...)

もともとは、「負荷分散」を目的として、
振り分け先APサーバを固定化させなくても良いようにActive-Active方式で
セッションレプリケーションを検討していましたが、
tomcatとteedaを使用したセッションレプリケーションでは、
上記の理由で不整合が起こる可能性があるという認識でよろしいでしょうか。


> Tomcatのセッションレプリケーションはデフォルトがリクエストに対して非同期のため、
・・・・とありますが、リクエストに対して同期をかけるように設定可能か、ご存知でしょうか。


> これを避ける確実な方法は、スティッキーセッションを併用して、セッションレプリケーションは
> サーバーに障害が起きた場合の保険および、デプロイ時のセッション継続の手段として
> 使う、ということになります。

上記の「スティッキーセッション」とは、APサーバの上のLBで設定して、
同一セッションの間は、同じAPサーバに振り分けるという認識でよいでしょうか。

負荷分散を目的としてActive-Active方式の構成とする場合、
「スティッキーセッション」を利用して振り分けされるAPサーバを固定化させる必要があり、
tomcatでのセッションレプリケーションは、あくまでも片方のサーバがダウンしたときのための
保険的な役割(※)として使用する方が良いということですよね。

※サーバがダウンした場合にセッションレプリケーションが行われても、
 tomcatとteedaの仕様上不整合が起きる可能性がある為。

負荷分散するために、上記以外にも何か良い方法はありますでしょうか。



> 大中です。
> 
> Tomcatのセッションレプリケーションはデフォルトがリクエストに対して非同期のため、
> TeedaのようなPageの処理の後リダイレクトするのが原則なフレームワークの場合、
> リダイレクトした後にリクエスト先のtomcatに(レプリケーションがまだ終わっていないため)
> セッション情報がとどかず、セッションの状態に不整合が起きる可能性があります。
> (自分が経験したのはTeedaでないフレームワークのため、あくまで可能性ですが...)
> 
> これを避ける確実な方法は、スティッキーセッションを併用して、セッションレプリケーションは
> サーバーに障害が起きた場合の保険および、デプロイ時のセッション継続の手段として
> 使う、ということになります。
> 



Seasar-user メーリングリストの案内