負荷分散とは何ですか
(ロードバランス)を負荷分散は、一般的に【臨界荷重は[均一なバランスをとることが一様に、演算ユニットの複数を実行するために割り当てられた]要求/データを指し、考慮しなければならない分散システムアーキテクチャ設計の要因の一つです。
一般的な負荷分散スキーム
分散アーキテクチャなどの一般的なインターネットは、分割されたクライアント層、層nginxのリバースプロキシ、サイト層、サービス層、データ層。見ることができる、それぞれが唯一、下流アクセスの各上流それぞれ均一に、達成することができる行われる必要があり、下流上流呼び出し、複数の「要求/データ] [均一操作実行部の複数の割り当て。」
[クライアント層- > リバースプロキシの負荷分散層]
達成するための「ポーリングDNS」によって[]リバースプロキシ層のロード・バランシングにクライアント層[]:各DNSサーバーにアクセスするためのDNS解決要求、DNSサーバのドメイン名を解決するためには、複数のIPで構成され、ポーリングは、それぞれの確率は同じであるIP保証解決、これらのIPに戻ります。IPは、nginxの外部ネットワークのIP、各割り当てを行うにはnginxの要求がバランスされています。
[リバースプロキシレイヤー- > サイトの負荷分散層]
「nginxの」によって、[サイト]層のロード・バランシングに[リバースプロキシ層]は、達成するために。nginx.confを変更すると、負荷分散、様々な戦略を実現することができます。
1)要求ポーリング:DNSのポーリングなど、それぞれの要求が順次ウェブサーバーにルーティングされています
2)最小接続経路:少ないウェブサーバ、ルートウェブサーバーに接続
3)IPハッシュは:IP経路に従って、ハッシュ値があれば、ユーザIP分布が均一であるように、要求も理論的に均一である、ユーザのウェブサーバにアクセスするために、IPハッシュ等化方法は、ユーザの要求に、行うことができます固定は、同じWebサーバー上で、セッションなどの状態サービスに適しこのポリシー(58シェン建NOTE落ちた:あなたはそれを行うことができますが、しかし強く推奨、何のサイトレベルのステータスは、分散型アーキテクチャ設計の基本原則の一つではありません好ましくは、データ記憶装置に格納され、セッション層)
4)...
[サイトレベル- > サービス層の負荷分散]
「サービス接続プール」を通じて、[サイト]サービス層の負荷分散に[レイヤー]は、達成するために。
下流接続プール上流接続が複数のサービスを確立し、各要求は、選択された接続された下流サービスにアクセスするために「ランダム」であろう。
前の記事「RPCクライアント実装の詳細は、」ロード・バランシング、フェイルオーバー、タイムアウト処理の詳細な説明に詳述されている、ここに着手していない、ビューへのリンクをクリックしてください。
[]データ層のロードバランシング
データ層ので、大量のデータ、(DB、キャッシュ)は、データ分割レベルに関する場合には、階層データをロード・バランシングがより複雑であり、それは「等化データ」、及び「バランス要求」に分割されています。
平衡データ手段は、各サービス(DB、キャッシュ)セグメンテーションのレベル、データの量は同じです。
要求のバランス手段は、分離後の各サービスレベル(DBキャッシュ)を切断し、要求の量は同じです。
業界の分割方法の一般的なレベルは非常に少ないです。
まず、分割レベル範囲に応じ
各データ・サービス、一定の範囲内に格納されるデータは、一例として図:
User0サービス、ストレージuidの範囲の1〜1キロワット
USER1サービス、ストレージuidの範囲の1キロワット、2キロワット
このプログラムのメリットは以下のとおりです。
(1)単純なルールは、サービスは、対応するストレージサービスにルーティングUIDレンジかを決定することができます
(2)データのより良いバランス
(3)比較的簡単に拡張、あなたは常にUIDを追加することができます[2キロワット、3キロワット]データサービス
それは不十分です。
(1)要求が必ずしもバランスロードされない、一般的には、新たに登録されたユーザが古いユーザより活性になり、サービスの広い範囲は、より多くの圧力を要求します
第二に、分割レベルハッシュIDに従って
各データ・サービス、キーハッシュ値のデータを記憶する部分、例として図。
User0サービス、データストレージとしても、UID
USER1サービス、データストレージ奇数UID
このプログラムのメリットは以下のとおりです。
(1)単純なルールは、UIDのみにサービスが対応するハッシュストレージサービスにルーティングすることができます
(2)データのより良いバランス
(3)は、良好な均一性を求めます
それは不十分です。
(1)拡張することは容易ではない、ハッシュ法の変化は、それがデータの移行を必要とするかもしれない、データサービスを展開します
概要
(ロードバランス)を負荷分散は、一般的に【臨界荷重は[均一なバランスをとることが一様に、演算ユニットの複数を実行するために割り当てられた]要求/データを指し、考慮しなければならない分散システムアーキテクチャ設計の要因の一つです。
(1)クライアント層[] []リバースプロキシ層のロード・バランシング、「DNSのポーリング」によって達成するために
(2)実施「nginxの」により、[サイト]層のロード・バランシングに] [プロキシ層を逆
(3)「サービス接続プール」を達成するために経由[サイト]の[レイヤ]サービス層の負荷分散、
(4)[]データ層のロードバランシングは、「等化データ」と「要求平衡」二つの点、及び「セグメンテーションのレベルに応じて、スコープを」持っている一般的な方法を検討する「ハッシュ水平分割」を