[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]] -[[戻る>冗長化アーキテクチャ]] * 目次 [#q93b7a98] #contents *概要 [#s6e55500] -ステートレス・システムの負荷分散が可能。 -負荷分散装置等のフロントのアプライアンスが不要。 **方式 [#yd917694] 要約していうと、 -(後述の)[[分散処理方式>#mdb80856]]によりパケットをWebファームのNICに重複して着信させ、 -(後述の)[[ハッシュ関数>#i56f376b]]で着信したパケットをフィルタする という方式である。 (後述の)[[ハッシュ関数>#i56f376b]]の再構築による)フェイル・オーバーも可能になっている。 **分散処理方式 [#mdb80856] パケットをWebファームのNICに重複して着信させる分散処理の方式に以下の2つがある。 -[[ユニキャスト・モード>#pa9274d9]] -[[マルチキャスト・モード>#nba7db72]] **ハッシュ関数 [#i56f376b] NLBのハッシュ関数は、パーシステンスの種類として、 以下のサイトで説明されている、 -ロードバランサ - パーシステンスの種類~ http://www.infraexpert.com/study/loadbalancer5.html --''Source address affinity persistence'' --''Cookie persistence'' --SSL persistence --Destination address affinity persistence --Hash persistence --SIP persistence --Universal persistence --Microsoft Remote Desktop Protocol persistence ''Source address affinity persistence'' を採用している。 **プロトコル [#e9f06347] -TCP -UDP -(TCP/UDPの)両方 がある。 *分散処理方式 [#x6107af6] 分散処理方式に -[[ユニキャスト・モード>#pa9274d9]] -[[マルチキャスト・モード>#nba7db72]] が存在する。 **ユニキャスト・モード [#pa9274d9] ユニキャスト・モードの分散処理方式 -サーバの物理ノードに同じIPアドレス(MACアドレス)を付与し、 -全ての物理ノードでパケットを受信。 -次いで、ハッシュ関数を使用して要求フィルタする。 **マルチキャスト・モード [#nba7db72] マルチキャスト・モードの分散処理方式 -サーバの物理ノードに異なるIPアドレスを付与し、 -マルチ・キャストを使用して全ての物理ノードでパケットを受信。 -次いで、ハッシュ関数を使用して要求フィルタする。 *ハッシュ関数 [#eec2ccc1] **アフィニティ [#wa7fd840] Source address affinity persistenceのaffinityとして、 -[単一モード] -[なしモード] が存在する。 ***単一モード [#ff785102] ハッシュ関数は、クライアントのIPアドレスから物理ノードが選択する。 -クライアントは、常に同じノードに振り分けられる。 -プロキシサーバーを経由すると、偏りが発生することがある。 ***なしモード [#u231372a] ハッシュ関数は、クライアントのIPアドレス+ポートから物理ノードが選択する。 ∴ クライアントのTCP/IP接続が異なると、異なるノードに振り分けられる。 *その他 [#n5980944] ASP.NETでは、SessionStateを使用するステートフルなアプリケーションでも、~ ステートサーバやSQL Serverに状態を一時退避する事で、以下を可能にしている。 -[なしモード]での負荷分散([単一モード]なら不要) -[単一モード]でフェイル・オーバした後の業務続行(不可能なら不要) -ただし、ステートサーバやSQL Serverはシングル・ポイントになり得る。 *参考 [#p36ba3a4] -[[NLB?MSCS/WSFC?]] -Network Load Balancing Deployment Guide~ https://technet.microsoft.com/ja-jp/library/cc754833.aspx