• ベストアンサー

Tomcat&LBでのセッション維持について

LB(ラウンドロビン)でTomcatサーバへの負荷分散を行っておりますが、 Tomcatサーバがダウンした際にアクセスするとログイン画面に引き戻されてしまいます。 サーバダウン時にもセッションを持続する方法は在りますでしょうか? ※LB、ネットワーク共に冗長構成を取っております。

質問者が選んだベストアンサー

  • ベストアンサー
  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.1

>サーバダウン時にもセッションを持続する方法は在りますでしょうか? もちろんありますよー。 実装方法はいろいろありますが、昔からよく使われている方法は、セッションの情報をDBに保存する方法ですね。詳しくは「セッションレプリケーション」という言葉で検索して勉強しましょう。LB使ってサーバーダウンの事まで考えるような人なら、くどくど説明せずとも簡単に設定できるはず…。 セッションレプリケーションのAPサーバ動作比較 (「Tomcat 7」vs「JBoss AS 7」vs「Jetty 8」で勝負) - Taste of Tech Topics http://acro-engineer.hatenablog.com/entry/20130116/1358303072 Tomcatのクラスタ環境でSession Replicationする方法 | infoScoop Developer's Blog http://infoscoopjp.wordpress.com/2012/07/04/tomcat%E3%81%AE%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E7%92%B0%E5%A2%83%E3%81%A7session-replication%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/

bspsol01
質問者

お礼

ありがとうございます。 「セッションレプリケーション」試したことがないので、 これから勉強してみます。

関連するQ&A

  • Apache→Tomcatでセッション維持されない

    Apache->Tomcatでセッションが維持されない Apacheのproxy_ajp.confの設定を ProxyPass /xxx/ ajp://localhost:8009/ とした時にhttp://サーバー名/xxx/(webapps内フォルダ名)/ でアクセスした場合アクセスする度に新しいセッションIDになってしまします。 Apacheのproxy_ajp.confの設定を ProxyPass / ajp://localhost:8009/ とした時にhttp://サーバー名/(webapps内フォルダ名)/ でアクセスした場合はセッションIDは保持されます。 http://サーバー名/でアクセスした時はTomcatのwebappsとは別の場所に配置したWebサイトを表示させている為、 【ProxyPass / ajp://localhost:8009/】とは設定したくはないんですが・・・ どうしたらよいでしょうか・・・? 今の状況 ■http://サーバー名/xxx/(webapps内フォルダ名)/  でアクセスするとセッションが保持されない。 ■Apache単体でphpを使った時、セッションは保持される。 ■8080ポートを使ってTomcatへ直接アクセスした場合、セッションは保持される。 環境 OS:CentOS 5 Apache:2.2 Tomcat:6.0

    • ベストアンサー
    • Java
  • ラウンドロビン時はApacheでバーチャルホスト設定は必須ですか?

    DNSのラウンドロビンで負荷分散を行う場合、 Apacheでバーチャルホストは必須でしょうか? ■構成 Clientは、wwwでwebサーバへアクセス。 | DNS | +------+ |   | www1 www2

  • オンラインゲーム用のサーバの側での「負荷分散」

    STUNサーバのMMORPGの場合にも、ロードバランサとかDNSラウンドロビンとかによって負荷分散が行なわれているのでしょうか? 同じゲームへ不特定多数者の方々が同時にログインしている際に、別のサーバへ分散させても纏まるのか否かが分からないものですから、教えて頂けませんでしょうか?

  • Webサーバの負荷試験の方法について

    現在、webサーバ3台、ラウンドロビンにて分散化しているシステムがあります。 (redhat,Apache,postgresql) この環境で、ラウンドロビンと、上位にロードバランサを入れた環境とで 負荷試験を行いたいのですが、運用中でもあり、方法がいまいち考えつきません。 運用中といっても、現在はサービス外メッセージを出しているだけです。 前に経験したのはwebサーバが一台でしたので、 ローカル環境でストレスツールを動かし、負荷試験を行ったことがあります。 が、今回は3台でどれくらい負荷分散されるか等の確認も行いたいのです。 3台同時に・・・と言いますか、ひとつの入口からストレスをかれられて 3台のラウンドロビンの動きの確認ができるか方法があるのか。 ・そのようなツールがあるのか? ・どのような構成(?)にしたらいいのか? また、ロードバランサをかました場合の負荷試験の方法(環境?)は どのように構成したらいいのか? 私のレベルではどうしても考え付きません。 一般的にはどのような負荷試験をされているのでしょうか? このような場合の負荷試験方法について どうかアドバイスをよろしくお願いいたします。

  • Webサーバーに複数回線を接続して運用したい

    障害対策と負荷分散のため、複数のネットワーク(異なるプロバイダーの光 × 数本)にWebサーバーを接続したいのですが、どのように考えれば良いのでしょうか。 ラウンドロビンDNS?を使えば低コストで可能でしょうか。 他に(H/Wなどでも)いい方法などご存知でしたら教えてください。 よろしくお願いします。

  • 同時ウェブアクセスによるセッションの数は?

    静的マスカレードで開放された同じポートへWAN側から同時にアクセスさせ得るセッションの数は、何らかの基準で制御されているのでしょうか。 サーバへの負荷の分散の仕組みが分からないものですから、教えて頂けますでしょうか。

  • Webシステムの確認試験について

    WebServer1台で運用されていたシステムの負荷が目立ってきたため、 WebServerを3台に増やし、ラウンドロビン方式で負荷分散をすることになりました。 その確認の方法ですが、 まずは、3台のアプリの動作確認をするにあたり、 LANケーブルを1台ずつ繋ぎながら、アプリの動作確認を行い、 3台ともそれぞれ正常に動作するかを確認しようと思っていました。 が、これだと繋ぎ変えながら・・・なので、 Serverのそばにいないと試験ができません。 (実はServerは遠方に設置してます) 他に方法が思い浮かばないのですが、 なにかアドバイスいただけたらと思います。 ラウンドロビン方式では、たとえば3人同時にアクセスしないと、 分散されないのでしょうか? 同時じゃなくても、1台ずつ順番に(?)動作していくのでしょうか? 総合試験としては、3人以上で同時にアクセスして、正常にアプリが動作し、 ログを確認する・・・のようなことでいいと思うのですが、 その前の単体レベル(?)での試験は、 皆さんはどのように行っているのでしょうか? 書き方が良くない質問ですみません。 要は、1台構成から3台構成に変更した際の試験項目を作成するに当たり、 その方法をご教示いただきたいのです。 よろしくお願いします。

  • 負荷分散装置を経由する同一ネットワークセグメント内の通信は可能?

    SE修行中の者です。「Webクライアント-負荷分散装置(以下、LB)-Webサーバー」という構成を考えています。 このとき、サーバーと同じネットワークセグメント内のクライアントからHTTPリクエストが発行された場合、「行き」パケットはLBを経由しても「戻り」パケットはLBを経由せずに直接クライアントに戻ってしまうのではないかと思います(別セグメントのクライアントならば、サーバー側のデフォルトゲートウェイをLBのIPにしておけば「戻り」もLBを通ってくれると思いますが。) そうなると、TCPのコネクションが確立できない、すなわち通信ができない、ということになるような気がするのです。 このような問題を回避するにはどのようにしたらよいものでしょうか?(ちなみに負荷分散装置はAlteon Application Switchというものらしいです)

  • TOMCATのみでのサーバーの問題点

    TOMCATのみでのWebサーバーの問題点を 分かりやすく教えてください。 負荷がかかる、とかでは、よく分かりません。 趣味で、TOMCATのみで、自宅サーバーをやっています が、あまり問題は内容に思えます。 1日10位のアクセスなら問題ないのでしょうか。 (今度、人に勧めようと思うのですが、人に勧める 以上、問題点は、把握しておきたいので。) よろしくお願いします。

    • ベストアンサー
    • Java
  • 負荷分散装置(CSS11500)の仕様

    クライアント(600台)ー負荷分散装置(2台)-L2SW(2台)-WEBアプリケーションサーバ(2台)の構成での負荷分散装置について下記の質問があります? なお、負荷分散装置はCISCOのCSS115001で、Active-Standbyの冗長化(コールドスタンバイではなく、ホットスタンバイ)です。 Q1ホットスタンバイでセッション引き継ぐ設定は可能でしょうか? Q2ホットスタンバイ、セッション引き継ぐ設定をしている構成でマスタの負荷分散装置が故障し場合、クライアント(ユーザ)は、再度、ログインする必要はありますか?再ログインなしで継続できますか? Q3ホットスタンバイ構成の系間ケーブルが断線した場合、どうなりますか?スタンバイ側もマスタになり。両系マスタ?また、系間にはIPアドレスの設定は不要だと聞きましたが、ほんとですか?(コールドスタンバイではIPアドレス必要) すみませんが、しろうとなのでわかりやすく教えて下さい。 以上