BT

iisnode: Internet Information Server用のNode.js

| 作者: Jonathan Allen フォローする 553 人のフォロワー , 翻訳者 尾崎 義尚 フォローする 0 人のフォロワー 投稿日 2011年9月4日. 推定読書時間: 2 分 |

原文(投稿日:2011/08/30)へのリンク

iisnodeプロジェクトは、Internet Information Server 7.0以降にNodeをサポートするモジュールである。IISの主要なロールは、Nodeのアプリケーションサーバーと同じように動作し、クラシックASPとASP.NETとほぼ同じ方式である。これらの技術に精通している開発者は、機能リストを見て、非常になじみがあるものだと理解することができる。

Nodeは、非公式ながらnode.jsとして知られている。これは、非同期プログラミングテクニックを強く協調したJavaScriptベースのサーバサイドフレームワークである。 6月にさかのぼると、NodeとWindowsプラットフォームに移植するため、マイクロソフトはJoynetとの提携をアナウンスしている。ネイティブポートは、非常に些細なことだが、要求されたパフォーマンスを得るために、このプロジェクトではI/O完了ポートのようなネイティブ機能を使うことに重点を置いている。

IISモジュールに戻ると、プロセス管理はセンターステージである。ASP.NETのように、IISはNodeランタイムのインスタンスの開始と終了をハンドルする。Nodeはシングルスレッドで、IISはモニタリングとロードバランシングを複数のNodeインスタンスをまたいで処理する。詳細はまだ提供されていないが、伝統的な論理コアごとにひとつのプロセス/スレッドであると推測できる。

ASP.NETのように、iisnodeはインプレースアップデートをサポートするだろう。新しいバージョンのスクリプトファイルが置かれると、IISは現在実行中のリクエストが完了したら、Nodeプロセスをリサイクルするだけに過ぎない。

NodeはスタンドアロンのWebサーバーとして利用することができるが、それには開発者はビジネスと関係ない多くの処理をする必要がある。誰がきちんとチューニングされたキャッシュとスタティックファイルの圧縮コードに数週間を費やしたいだろうか?その代わりに開発者は、IISの能力の活用と、Nodeの光が当たる領域に注力することができる。

キャッシュや圧縮に加えてNodeは、IISの機能である、ポート共有、セキュリティ、URL rewriting、ロギングを引き継いでいる。これらのいくつかの機能によって、あなたのNodeコードに変更が必要になる。たとえば、アドレスとポート番号をprocess.env.PORT環境変数から読んでいる場合には変更が必要だ。

IISに関して言えば、もちろんいくつかのXML構成を行うことになる。最低限、サーバーサイドJavaScriptファイルをweb.configファイルに登録することだけは必要である。これを怠ると、JavaScriptはクライアントサイドのもののようにIISが提供してしまうことになる。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT