web-dev-qa-db-ja.com

負荷分散されたIIS。 NLB、Linuxベースのリバースプロキシ、またはその他のものを使用する必要がありますか?

少なくとも2〜3台のWindows 2008 R2 IIS Webサーバーが多数の.NETアプリケーションを実行している)の負荷分散に最適なアプローチは何でしょうか?私の選択は次のように思われます。

1)CiscoCSSなどのハードウェアベースのネットワークデバイスロードバランサ
2)Windows NLB
3)haproxyまたはその他のLinuxベースのプロキシのようなもの

3台のサーバーはvSphereファーム上にVMとして配置されているため、負荷が高いときにインスタンス数を増やすためにクローンを作成することができます。 vSphereホストが接続されているスイッチ(Cisco 3750)を制御しますが、それを超えてクライアントへのスイッチング/ルーティングインフラストラクチャを制御しません。

(1)高価すぎて、おそらく私のニーズにはやり過ぎです。誰かが私の既存のネットワークキットでそれを行うための狡猾な方法を見つけた場合に備えて、これを含めましたが、私は疑っています。

(2)は明らかな「組み込み」オプションのように見えますが、ネットワークインターフェイス、マルチキャスト、および一般に不必要に複雑に見えるその他のものをいじくり回しているようです。また、ホストが500エラーをスローし始めたり、問題が発生したりすると、プールからホストを削除できないという点で、かなり愚かです。

(3)は最も興味深いオプションです。これは、最も柔軟性とカスタマイズ性を提供しているように見えますが、ネットワークをいじくり回す必要はありません。ただし、lighttpdなどのリバースプロキシ機能についてはよく知っていますが、HAProxyなど、さらに多くの機能を提供できる可能性のある他のオプションについてはあまりよく読んでいません。

どちらに行きますか、私が考えていないことはありますか?

6
growse

Stackoverflowでは、HAProxyを使用してWindows Server 2008 R2 IIS 7つのWebサーバーとのバランスを取り、大成功を収めています。HAProxyが大好きで、非常に柔軟性があります。

10
Kyle Brandt

私はNLBをIIS Webサービスに長年使用してきました。これは実際にはロードバランサーではなく、冗長ツールです。負荷はサーバー間でインテリジェントに共有されませんが、本当に素晴らしいです。アップグレードのために1台のサーバーを停止し、すべてをフル稼働時間で実行できるようにするためです。NLBから始めて、それで十分かどうかを確認することをお勧めします。結局のところ、無料で非常にシンプルです。

3
Elvar

あなたはどのくらいのトラフィックについて話しているのですか? Citrixは、ESX、Hyper-V、およびXenServerの仮想マシンとしてNetscalerロードバランサーの無料バージョンを提供しています。これはNetscalerVPX Expressと呼ばれ、負荷分散のために最大5Mbのスループットを提供します。また、リモートアクセスソリューションとして10ユーザーのSSLVPNライセンスも含まれています。私はそれを社内で使用して大成功を収めています。

これは、無料のVM 1Mbから5Mbへの最近のバンプについて説明しているCitrixによる最近のブログ投稿です: http://community.citrix.com/display/ocb/2011/ 02/28/NetScaler + VPX + Express + Sets + Your + Networks +(Even)+ Free(-er + than + Before!)

3
mcmeel

実際には答えではありませんが、これ(エッセイ?)はあなたの選択に役立ついくつかの良い背景情報を与えるかもしれません: 負荷分散でアプリケーションをスケーラブルにする

2
tmslnz