Windows NLB はうまく機能し、コンピューターが停止するとクラスターからコンピューターを削除します。
しかし、アプリケーションが停止してもサーバーがまだ正常に動作している場合はどうなるでしょうか? この問題をどのように解決しましたか?
ありがとう
Windows NLB はうまく機能し、コンピューターが停止するとクラスターからコンピューターを削除します。
しかし、アプリケーションが停止してもサーバーがまだ正常に動作している場合はどうなるでしょうか? この問題をどのように解決しましたか?
ありがとう
NLBを使用しない。
多くの場合、ハードウェアロードバランサーには、サーバーが要求に応答しているかどうかを判断するための構成可能な「プローブ」機能があります。これは、実際のアプリケーションポート/ URL、またはアプリケーションが正常である場合にのみ返される特定の「ヘルスチェック」URLにアクセスすることによって行うことができます。
これらの他のオプションは、リクエストに応答するのにかかるキュー/時間を調べます
シスコは次のように述べています。
Cisco CSMは、さまざまなプローブ、帯域内ヘルスモニタリング、リターンコードチェック、およびダイナミックフィードバックプロトコル(DFP)を使用して、サーバとアプリケーションの可用性を継続的に監視します。実サーバまたはゲートウェイに障害が発生すると、CiscoCSMはトラフィックを別の場所にリダイレクトします。サーバーは、サービスを中断することなく追加および削除されます。システムは簡単にスケールアップまたはスケールダウンできます。
(ここから:http://www.cisco.com/en/US/products/hw/modules/ps2706/products_data_sheet09186a00800887f3.html#wp1002630)
おそらくWindowsNLBを使用して、ノードの重みをプログラムで設定する方法はありますか?ノードは自己監視する必要があり、問題がある場合(たとえば、特定のノードのディスク容量が少ない場合)、その重みをゼロに設定して、それ以上のトラフィックを受信しないようにします。
ただし、これは慎重に設計し、さらに人間による監視を行って、1つの障害によってクラスター全体がダウンしたことをアナウンスするような状況にならないようにする必要があります。
ネットワーク負荷分散における「ビザンチンの一般的な」状況に対処することを本当に期待することはできません。適切に壊れたノードは、それが正常であると考え、正常に見えるかもしれませんが、実際の作業を完全に行うことはできません。秘訣は、これらの状況が本番環境で発生する可能性を最小限に抑えることです。
すべてのノードがクラスターの一部であるが非アクティブである状況から始めます。外部インターフェイスを介してローカルでサービスにリクエストを行うカスタム サービス モニターを実行します。応答が成功した場合は、ノードを開始します (NLB トラフィックの処理を開始できるようにします)。応答が失敗した場合、ノードがトラフィックを受信するのを停止します。
ダロンによって説明されたすべての中間ステップは無関係です。私たちが気にするのは、それが機能したかどうかだけです。マシンにアクセスできない場合、残りの NLB クラスターはそのマシンを失敗したものとして扱います。
ネットワーク アプリケーションのヘルス チェックには複数のレベルがあります。
NLB に関する私の経験は不完全かもしれませんが、私が知っていることを説明します。NLB は 1 と 2 を実行できます。カスタム コーディングを使用すると、さまざまな難易度で他のレベルを追加できます。一部のネットワーク アーキテクチャでは、これが非常に難しい場合があります。
Cisco や F5 などのベンダーのほとんどのハードウェア ロード バランサーは、3 または 4 を実行するように簡単に構成できます。レベル 5 のテストには、カスタム コーディングが必要です。