TOPシステム開発> Webサーバーの追加とロードバランシング




まるごとPerl!
事例編〜Web 2.0サービスの中を見せます

第5回:サーバの追加とロードバランシング
著者:はてな  伊藤 直也   2006/10/30
1   2  次のページ
Webサーバーの追加とロードバランシング

   さて、サービスがオープンしてしばらく経ってくるとトラフィックも増えて、アプリケーションサーバーの負荷が高くなってくることでしょう。そこで、アプリケーションサーバーを増やすことになります。同じ構成のアプリケーションサーバーをもう一台作って対応します。

   ここでふと気づくわけですが、Webサーバーがproxy×1+mod_perl×1の場合は、クライアントから受け付けたリクエストを振り分けて処理するといったことは意識する必要がありませんでした。

   しかし、proxy×1+mod_perl×2になると、リクエストを受け取ったリバースproxy側では、どちらのアプリケーションサーバーにリクエストを転送するかを考慮する、つまりロードバランシングをする必要が出てきます。

mod_proxy_balancerでロードバランシング

   結論から言うと、ロードバランシングもリバースproxyでやってしまうことができます。

   Apache 2.2にはmod_proxy_balancerというロードバランシング用のモジュールが標準パッケージに含まれています。これを利用しない手はありません。その扱いも非常に簡単です。

   はてなブックマークでは、オープンした当初はApache 2.2が安定版ではなかったため、Apache 2.0でmod_rewriteの機能を使って工夫していました。いまはリバースproxyを2.2に置き換え、ロードバランシングにはmod_proxy_balancerを利用しています。

   なおmod_proxy_balancerは単にリクエストの振り分けを行うだけでなく、バックエンドのサーバーが故障などで応答しなくなった場合それを検知して、生きているサーバーにだけ振り分けを行うフェイルオーバーの機能があったり、バックエンドサーバー群の生存確認を行うための簡単な管理ツールが付属していたりもします。

1   2  次のページ

書籍紹介
まるごとPerl! Vol.1

まるごとPerl! Vol.1 PerlでWeb2.0をプログラミングするための最新テクニックを徹底解説!
「Web2.0時代のPerlプログラミング」を徹底解説! 本書では、Webアプリケーションを迅速に開発するためのフレームワークから、Web APIやJSON、RSS、AjaxでWebを自在にRemixするテクニックまで、新時代のPerlの開発技を紹介します。モジュールや文字コードの扱いといった基礎も解説。また、人気サービスの「はてなブックマーク」と「livedoor Reader」の中身を開発者が見せます。来るべきPerl 6も予習できます。PerlでWebを2倍楽しもう!

発売日:2006/08/25発売
定価:\1,995(本体 \1,900+税)
株式会社はてな 伊藤 直也
著者プロフィール
株式会社はてな  伊藤 直也
取締役最高技術責任者
ブログサービスやソーシャルブックマークなど、はてなの各種サービスの企画、開発を行う。著書に「BlogHacks」(オライリージャパン刊)。「続・初めてのPerl」(オライリージャパン)、「Perl救命病棟」(翔泳社刊)では監訳を務めた。


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。

INDEX
第5回:サーバの追加とロードバランシング
Webサーバーの追加とロードバランシング
  mod_proxy_balancerの設定方法
事例編〜Web 2.0サービスの中を見せます
第1回 Inside Hatena Bookmark
第2回 はてなフレームワークとPerlとシステム負荷
第3回 Backend Evolution(前編)
第4回 Backend Evolution(後編)
第5回 サーバの追加とロードバランシング
第6回 データベースの負荷分散とまとめ