ozumaの日記: Tomcatのクラスタとajp、ロードバランサ 2
日記 by
ozuma
前段にApacheのWebサーバ複数台、後段にTomcatのアプリサーバ複数台がいるというよくある構成を組むことになった。
実は今までず〜〜っとお仕事ではSunのiPlanet(Sun Java System Web Server)だったので、こういうオーソドックスな構成を扱うのは初めてなのだ。
Tomcatはclusterを組んでセッション共有し、アプリサーバ群の前には物理的なロードバランサを置いて、前段Apache群から ajp://(ロードバランサのIP):8009/ と振るようmod_proxy_ajp.confに書けばいい……と思ったのだが、こういうことをしている人はいないみたい? mod_proxy_balancerを使った例ばかり出てくる。
うーん、でも障害時はロードバランサ機器からの切り離しで対処したいのだが、なんか変なことやろうとしているんだろうか?
メンテや障害時でアプリサーバの1台を切り離したい時、いちいちmod_proxy_balancerのconfファイルを書き換えて、切り離したいサーバをBalancerMemberからコメントアウトする……なんてことはしたくないんだが。
どうもこの辺の空気感が分からない。明日もうちょっと調べてみよう
どっちかをちょっと変えて検索すれば? (スコア:1)
(と言ってもここ2年近く仕事にありつけていないからそれ以前の経験ベースで)
で、Apacheの側かTomcatの側をどっかのベンダーの商用製品(たとえベースがApacheであれ…)にちょっと構成変えれば
実例は見つかるような気がするんですがどうでしょ?
WebServerがApache(Active-Standbyの二重)でF5(同じく二重)を介してApps Server(同じく二重)でドデンと背後にDBサーバなんてのは
金のある大手向けの案件だから取材記事や事例紹介の中でさらっと出ていることがあるきがする。
逆に金のない客向けの小さい会社のシステムでは出てこないからいっぱい登場する検索すれば出てくる例には乗らないだけだと思う。
Re:どっちかをちょっと変えて検索すれば? (スコア:1)
とりあえずアプリサーバの前に物理LBを置いてajp(8009/tcp)を振る、というのは実際にやってみて、テストレベルで問題ありませんでした。
しかしmod_proxy_balancerの方が便利そうなのでそちらにしちゃいました。明示的な切り離し機能は無いのですが、Tomcatが落ちれば自動で切り離してくれるし。ずっとSun iPlanetしか触ってなかったので、Apache先生のスゴさにびっくりです(今さらか)。
コメント頂いてあんまり生かせてない気がしますが、ありがとうございました。