« Tomcatでフェイルオーバー(比較) | Main | Apache&Tomcatで連携時のRemoteIPアドレス »

2007.06.05

Tomcat&Apacheでフェールオーバー

 mod_jkのbalancerあるいはmod_proxy_balancer(Apache2.2の場合)と、セッションレプリケーションを組み合わせることで、Tomcatが1台落ちても処理を継続できる環境を構築することが可能となりました・・・が、時々リクエストの割り振りに失敗してしまう場合があるようです。

 Tomcat1にリクエストが行っている処理があったとして・・・

  • Tomcat1を停止→Tomcat2に処理がとばされるようになる(これは正常)
  • Tomcat1復活→リクエストはTomcat2に割り振られ続ける(正常・・・?)

    この状態で、Tomcat2を停止すると、基本的にそのままTomcat1に処理が割り振られるようになるのですが、まれにTomcat1に処理を割り振ろうとしたタイミングで

    Service Temporarily Unavailable

    The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

    というエラーが出る場合があります(ctrl+Rで再読込すると、次のリクエストは問題なくTomcat1に送られるようになりますが)。

  •  Apache2.2でmod_proxy_balancerを用いた場合、以下のような感じのエラーメッセージが出る場合があるようです(上記の順番での操作の時のログではありませんが)。

    (OS 10061)対象のコンピュータによって拒否されたため、接続できませんでした。 : proxy: AJP: attempt to connect to 127.0.0.1:8009 (localhost) failed
    ap_proxy_connect_backend disabling worker for (localhost)
    proxy: AJP: failed to make connection to backend: localhost
    proxy: BALANCER: (balancer://tomcats). All workers are in error state for route (Tomcat1)
    (OS 10061)対象のコンピュータによって拒否されたため、接続できませんでした。 : proxy: AJP: attempt to connect to 127.0.0.1:18009 (localhost) failed
    ap_proxy_connect_backend disabling worker for (localhost)
    proxy: AJP: failed to make connection to backend: localhost
    proxy: BALANCER: (balancer://tomcats). All workers are in error state for route (Tomcat2)
    proxy: BALANCER: (balancer://tomcats). All workers are in error state for route (Tomcat2)
    proxy: BALANCER: (balancer://tomcats). All workers are in error state for route (Tomcat2)

     Tomcatが復旧したという情報を上手くApacheが検出できていないんですかねぇ・・・? 起動後しばらく時間がたてば問題なく割り振られることから、検出のインターバルと関係があるんでしょうけど、設定箇所はいずこに?(retryパラメータあたりが関係している?)

    |

    « Tomcatでフェイルオーバー(比較) | Main | Apache&Tomcatで連携時のRemoteIPアドレス »

    Java」カテゴリの記事

    Subversion・Trac・etc.」カテゴリの記事

    Comments

    Post a comment



    (Not displayed with comment.)


    Comments are moderated, and will not appear on this weblog until the author has approved them.



    TrackBack


    Listed below are links to weblogs that reference Tomcat&Apacheでフェールオーバー:

    « Tomcatでフェイルオーバー(比較) | Main | Apache&Tomcatで連携時のRemoteIPアドレス »