8分の5点あなたは完全に負荷分散を理解するように、

ロードバランシング

ロード・バランシングは、高可用性同時マルチサーバは、この一部排除することができ、主に複数のサーバーにトラフィックを分散する負荷分散を通じてパフォーマンスおよび可用性を向上させるために使用される主要なコンポーネントのアーキテクチャ、単一障害点を

もちろん、ロードバランサ自体は、故障のリスクの一つのポイントは、記事の後半で考えることができている負荷分散とステートフルフェールオーバーの故障の増加の可用性の単一ポイントを排除するか、他のプログラムを。

次のようになり、一般的に負荷分散されたWebアーキテクチャを使用しないでください。

V2-f45fa96d2222fd48ec6b51961954e713_hd.png


いいえ負荷分散アーキテクチャません

Webサーバーは、システム全体が使用できないハングアップした場合の内部この例では、ユーザーはつまり、私たちはしばしばのシステムと言う、yourdomain.com Webサーバーを経由して直接接続し、単一障害点、多数のユーザーが同時にこれをアクセスする場合、同じサーバは、その後、それらのユーザーは、問題または単に遅いロード時間接続することはできませんが発生する可能性があります。

単一障害点のこの部分は、少なくとも別のロードバランサとWebサーバーを導入することによって軽減することができます。一般的にはすべてのバックエンドサーバに関係なく、同じコンテンツへのアクセスを受信するサーバのユーザーに同じコンテンツを提供します。そして、なぜなら、あなたはサービスを提供しながら、複数のサーバーを持っているだけでなく、パフォーマンスを向上させるためのシステムの負荷容量を増加させました。

トラフィックのロードバランシングのどのような種類を扱うことができます

一般的なプログラマはバランスのほとんどはHTTP、HTTPSのトラフィックを扱うことができるが、実際には負荷分散も(などのデータベースクラスタへのアクセス、DNS、など)、TCPとUDPトラフィックを処理することができます。ロードへのアクセスなど

v2-485a5451d9ee4715806884fcee833f52_hd.png

ロードバランシングアルゴリズム

流れを決定するために使用する負荷分散アルゴリズムはこれに分配されるべき健康サーバー上で次のように、いくつかの一般的なアルゴリズムは次のとおりです。

ロビンラウンド -回転(ラウンドロビン)サーバが順次このようなロードバランサとして、選択されることを意味するが、まず、第1に割り当てられたサーバーを要求する分配は、分配を継続するように、次の要求は、第二のサーバに割り当てられています最初のラウンド終了後のバックサーバー(オペレーティングシステムのスケジューリングアルゴリズムリフレッシャー)に割り当てられて先頭に。これは、すべてのサーバーの処理能力と同じくらいの時間、各事業を処理するのと同じ量のために、より適しています。

最少接続 -最小接続(最小接続)これは、ロードバランシングアルゴリズムは、現在接続しているサーバーの最小を選択することを意味します。

ハッシュIP -このアルゴリズムでは、サーバ分散点を決定するために、ソースIPの要求に応じてロードバランサ。この方法は、特定のユーザが常に同じサーバにアクセスするようになります。

以下のようないくつかの他のあまり一般的ではないアルゴリズムがあるのURLハッシュ、ランダムようにとは。

ヘルスチェック(ヘルスチェック)

ロードバランシングアルゴリズムでは、トラフィックのみに割り当てられますことを前提としてい健康今健康かどうかを判断する方法、サーバ、ロードバランササーバには?

サーバーの状態を監視するために、一般的な健康チェックは、サーバーが待機していることを確認しようとするプロトコルとポートの構成を介してサーバに接続されます。サーバーのヘルスチェックに失敗した場合は、そのサーバーが正常な要求に応えることができない、それは自動的に池が削除されますそれはヘルスチェックによって破壊されるまで、トラフィックはこのサーバに割り当てられません。

これは、ロードバランシングの健全なアリクラウドドキュメントチェックの特定の原則を参照することができます

v2-6d70a504dc991d34897143afd7632109_hd.png

負荷分散状態に対処する方法

私たちは皆、それはいくつかの問題になる場合に、サーバー上の情報のセッションの一部が、システムの負荷バランスの導入があるだろうベースのユーザ認証セッションことを知っています。

例えば、電気の供給業者のサイトについては、ときログイン要求サーバS1に配布し、サーバ内のセッション情報を記録し、ユーザーがショッピングはこの要求を要求提出したい場合、サーバS2に配布されている送信したユーザUが、サーバS2 Uは、ユーザーのセッション情報を保存しませんでした。

この問題を解決し、1には、使用する前に、ということであるために、IPハッシュアルゴリズム、トラフィックを分散するために、対応するサーバーのIPに基づくアルゴリズムを、ので、あなたが確保できるのと同じユーザトラフィックが同じサーバにアクセスする必要があります。別のアプリケーション層があるスティッキーセッション、中国が呼ばれるべきスティッキーセッションを、ロードバランサは、クッキーのセッションとクッキーが同じサーバに割り当てられます設定されます。

負荷分散、ホットスタンバイ(ホットスタンバイ)

冒頭で述べたように、ロードバランサ自体は、ホットスタンバイ(大基本的な方法は、冗長性の利用可能性を改善することである)である溶液、故障の問題の一点です。

故障のロード・バランサ単一点を解決するために冗長性Dual、第2のロードバランサの導入、スタンバイノードにマスターノードGGスイッチ。比較画像GIFを見つけるためにインターネット:

v2-46bd018234cdb17127e455684c4a7f67_hd.png

私はnginxのを達成するために、ホットスタンバイと設計アーキテクチャを卒業する前にkeepalivedの通過コールドバックアップ、ホットバックアップ、ホットスタンバイで高可用性を実現することで、


概要

より多くの負荷分散の予備友人の包括的な理解を持ちたい人のための暫定的な結論と負荷分散の理解の数が考慮この記事は、。


遂に

サポートのおかげで、ヨーヨーの記事を覚えて賞賛のポイントのように、みんなと共有へようこそ!


おすすめ

転載: blog.51cto.com/14442094/2438386