【IIS7】 Tech・Ed 2008 セッション振り返り(11)
次は URL Rewrite Module に依存するリクエストのルーティング処理ができるモジュールのご紹介です。
アイテム №10
「Application Request Routing for IIS7」
説明
HTTPヘッダー、サーバー変数 及び 負荷分散ロジックに基づいて動作するルーティングモジュール。ルーティングの判断を行う上でURL Rewrite Moduleに依存している。
特徴
●HTTPベース(アプリケーション層)のルーティング判断
●ユーザーが選択できる6つの負荷分散アルゴリズム
(Weighted Round Robin, Weighted Total Traffic, Least Current Request, Least Response Time, Server Variable Hash, Query String Hash)
●ライブトラフィックと特定URLのテストによるヘルスモニタリング:サーバーの健康状態をいくつかの設定で定義
ベネフィット
アプリケーションの可用性とスケーラビリティの向上、サーバーリソースの稼働率向上、アプリケーション展開の判断基準を提供する元になる。共有ホスティングにも有効。
利用可能 OS
Windows Server 2008 (IIS 7.0)
その他前提条件
URL Rewrite Module for IIS7.0 (対応CTPに注意)
※ARR CTP1 は GoLive 版とは動作しません。
入手先
Microsoft Application Request Routing for IIS 7 CTP1 (x86)
Microsoft Application Request Routing for IIS 7 CTP1 (x64)
開発ステージ
CTP1
ドキュメンテーション
Using the Application Request Routing Module
https://learn.iis.net/page.aspx/489/using-the-application-request-routing-module/
セッションより
もう書いてしまった部分もあるのですが、このモジュールがあるとIIS7をロードバランサーにすることができます。しかも上記の6つの選択肢を見る限り、原理的にはすごく簡単で、実は人間の感覚でそういう風に確かに分散させたいと思うロジックばかりが選ばれている気がします。
上記のリンクから辿ったドキュメンテーションを読むと3層の構成を作る上でTier1にこのARRモジュールを入れて、しかも静的なコンテンツについてはTier1で処理してしまう構成の説明なんかも載っています。
感想
前にも書いた通り、Windows 2000 Server → Application Center 2000 と歴史を辿った CLB(Component Load Balancing)を知っている者として、このモジュールが現実の解だと感じています。CLBは内部的に正しいことしているのですが、複雑すぎるのです。なので、このモジュールが製品出荷した際にはかなり使われると感じています。一方でNLB(Network Load Balancing)の方は WLBSと呼ばれていた Windows NT のころからの歴史で今も生き残っているようにとても有用な機能ですから今後も使われ続けるでしょう。
NLBは IT Pro道場 自主トレシリーズで取り上げましたのでそちらをご覧ください。
5章:負荷分散の設定
https://www.microsoft.com/japan/technet/community/events/dojo/online/self/5.mspx
もう一つ、忘れてはならないのはIIS7ではモジュールを開発できるという観点です。なので独自のもっとご自身の条件に合った振り分けをするモジュールを作ってしまうことだってできますから。
余談
とは言え、このモジュールはまだCTPの段階にあります。なのでUIがおかしかったり、機能的に動かない部分があるのは今の開発ステージ上 あきらめていただく必要があります。しかし今ならフィードバックをして期待の動作を盛り込むことが可能なので、これに取り組んでいただける方は IIS.NET の専用フォーラムで質問とか要望をどしどしお寄せください。英語厳しい。。。という方はこのブログの EMAIL から私にご連絡をいただいてももちろん結構でございます。
Comments
- Anonymous
January 01, 2003
Bill Staples さんのブログで公開されています。 http://blogs.iis.net/bills/archive/2009/02/16/iis7-request-routing-and-load-balancing-module-released.aspx