分散ファイルシステムの完全な理解をロードバランシング

負荷分散とは何ですか

(ロードバランス)を負荷分散は、一般的に【臨界荷重は[均一なバランスをとることが一様に、演算ユニットの複数を実行するために割り当てられた]要求/データを指し、考慮しなければならない分散システムアーキテクチャ設計の要因の一つです。

 

一般的な負荷分散スキーム


分散アーキテクチャなどの一般的なインターネットは、分割されたクライアント層、層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)[]データ層のロードバランシングは、「等化データ」と「要求平衡」二つの点、及び「セグメンテーションのレベルに応じて、スコープを」持っている一般的な方法を検討する「ハッシュ水平分割」を

公開された136元の記事 ウォンの賞賛6 ビュー1511

おすすめ

転載: blog.csdn.net/weixin_42073629/article/details/104603623