まず、負荷分散するものです
ロードバランシング、名前は非常に簡単です、サーバーの負荷がよりバランスおよび合理的であるようにすることです(^ _ ^がらくたのようなものを言いました)。ロード・バランシングは、異なるアプリケーションシナリオの重要性が異なっています。:負荷分散の役割は、二つの点にまとめ災害復旧と転換。
ディザスタ・リカバリ:アプリケーションの目的は、全体的な麻痺を確保するために、システムの可用性を提供しないとすると、異常のサービスのために発生します。同じクラスタサービス機能が相互に置き換えてみましょう。災害復旧は、自然なクラスタを持っている能力であります
シャントは:アプリケーションの目的は、システムがクラスタより圧力を介して搬送することができ、システムの性能を改善することです。
ロードバランシングは、1つのキーだけであり、「配布」!負荷分散戦略は、様々な負荷が今述べた上で作るためにシャントがより合理的。だから私たちは信じて努力の転換を最適化する必要がある、と紫八尾のクラスタの災害復旧機能を持っています。
第二に、負荷分散方式
A、DNS負荷分散
メインロード・アルゴリズム、ポーリング。
二、nginxのロードバランシング
nginxの種は、バランシングアルゴリズムをロードします。
1、ラウンドロビン(デフォルト)
ポーリングは順次サーバーへの各要求のバック、メソッドをデフォルトの負荷分散に割り当てられています。同じことが背景マシンのパフォーマンス状況に適用されます。ハングは、マシンが自動的にサービスのリストから削除することができます。
2、重量
別のマシンに重み配信要求は、ケース凹凸バックエンドサーバのパフォーマンスのために、ポーリング、重量比、及びアクセスの確率に比例します。例えば:
上流bakend { サーバ 192.168.0.14重量= 10 。 サーバ 192.168.0.15重量= 10 。 }
3、IP_hash
要求元のIPハッシュ値は、ヒットがマシン上に固定されていることを確認し、問題がセッションを解決することができ、同じIPからの要求に従い、バックエンドサーバに要求を送信します。例えば:
上流bakend { ip_hash; サーバー 192.168.0.14:88 ; サーバー 192.168.0.15:80 ; }
4、url_hash(第三者)
キャッシュ効率のバックエンドサーバがある要求のURLの異なるハッシュ値への要求によれば、機械。のみ、特定のビジネスに対処するために同等のサービスを提供しています。ハッシュは、上流で声明に参加し、serverステートメントは、体重などの他のパラメータを記述することはできません、hash_methodハッシュアルゴリズムが使用されています。やって詳細にnginxの
5、公正(サードパーティ)
配信要求にバックグラウンド応答時間は、要求に応じて、より短い時間を分配します。例えば:
上流のバックエンド{
サーバーSERVER1。
サーバーSERVER2。
フェア;
}
第三に、サービス間の負荷分散
通信サービスとの間で負荷分散に加えて、サービス接続プールも達成することができる***フェイルオーバ、タイムアウト処理、速度制限、他の多くのシリアルID機能***。
第四に、データベースの負荷分散
データ層(DB /キャッシュ)ので、大量のデータは、データ分割レベルに関する場合には、階層データをロード・バランシングがより複雑であり、それは「等化データ」と「リクエスト平衡」に分割されています。負荷分散とここでクラスタリングの概念が多少異なっています。
1、バランスデータ
等化されたデータの意味:分離後の各サービスレベル(DB /キャッシュ)切断は、データの量が均一です。
2、要求されたイコライジング
要求手段をバランス:分離後の各サービスレベル(DB /キャッシュ)を切断する、要求量が均一です。一方、セグメンテーションのレベルの実施形態によれば、水平方向の範囲は、主切削とスライスレベルハッシュIDに分割されます。
サブサブテーブルは再びライブラリの詳細を
概要
(ロードバランス)を負荷分散は、一般に、操作実行部、その均一性キー嘘複数の均一な共有要求/データを指し、考慮しなければならない分散システムアーキテクチャ設計の要因の一つです。
達成するために、「DNSのポーリング」を通じて、リバースプロキシ層をロードバランシング
を達成するために、「nginxの」により、サイトの負荷分散層を
達成するために、「サービス接続プール」を通じて、サービス層を負荷分散
負荷分散データ層を、「等化データ」と「要求平衡」二つの点、及び「セグメンテーションのレベルに応じて、スコープを」持っている一般的な方法を検討する「ハッシュ水平分割」を