Webアプリケーションでハイアベイラビリティ(HA)がどのように機能するかを説明する人がいますか?HAとは、単一障害点が存在しないことを意味するためです。Webアプリケーション:高可用性/単一障害点を防ぐ方法
しかし、ロードバランサを使用しても、単一障害点ではありませんか?
Webアプリケーションでハイアベイラビリティ(HA)がどのように機能するかを説明する人がいますか?HAとは、単一障害点が存在しないことを意味するためです。Webアプリケーション:高可用性/単一障害点を防ぐ方法
しかし、ロードバランサを使用しても、単一障害点ではありませんか?
私は、件名に、この記事を見つけましたあなたのウェブサイト
Webブラウザは、機能するものが見つかるまで、すべてのアドレスを試してみるほどスマートです。
HAアーキテクチャはフィールド全体であり、複数の書籍が書かれているため、簡単な段落では答えにくいです。
理想的な状況をまとめると、複数のサーバーを使用し、複数のロードバランサのレイヤーに相互接続します。ノードとLBは、いくつかの異なるデータセンターに配置され、異なるネットワークバックボーンに接続されます。理想的には、データセンターは世界中に配置されます。
要するに、すべてのコンポーネントにはロードバランサを含む冗長性があります。出発点のために
、それはあなたのハートビートとセットアップ2 HAプロキシサーバーを、そのいずれかに障害が発生した(クエリへの応答を停止)することを、次のように動作しますHigh Availability Cluster
しかし、ある時点では、ユーザーのWebブラウザからの単一の要求を複数のロードバランサに分割する必要があります。この時点で、それは単一の障害点ではないでしょうか?つまり、1つのリクエストが複数のロードバランサに入る可能性はありますか? – nickb
はい、ユーザーの要求は、オンラインのロードバランサの1つで終わります。要求を処理して失うのとまったく同じタイミングでLBがダウンする可能性があります。重要なことは、HAのアドレスは、ユーザーがすぐに再試行すると、オンラインで成功している別のLBで終了し、システムの他のユーザーも同様です。 HAは、特定の要求が成功するのではなく、利用可能なシステム全体(すべての障害が一時的)に関係しています。 –
どうしますか? DNSラウンドロビン? – nickb
ために、ウィキペディアを参照してください、それがクラスタから削除されています。 HAプロキシからの要求は、ラウンドロビン方式でWebサーバーに転送できます。また、1台のWebサーバーに障害が発生した場合、HA Proxyサーバーはそのサーバーが接続されるまで接続しようとしません。 Webサーバーは、すべての動的情報をデータベースに格納しており、2つのMySQLインスタンスにわたって複製されます。 ご覧のとおり、HAプロキシとクラスタMySQL(または単にMySQLレプリケーション)と同様にIPクラスタリングが重要です。あなたがのために複数のAレコード(IPアドレス)を返すようにDNSサーバーを構成することができ長続きスティッキーセッションを必要としない場合は基本的に http://www.tenereillo.com/GSLBPageOfShame.htm
:
しかし、あなたのダイアグラムでは、私が理解できないことは、HAPRoxyはどのように機能するのでしょうか?クライアントDNSが解決すると、単一のマシンにしか解決されません。だからHAProxyは何とか同じIPアドレスを共有していますか? – nickb
@nickb Dave Newtonが上記のように応答した場合、DNSは1つの外部ホスト名に対して複数のIPアドレスを返すように設定できます。その後、クライアントはサービスに複数回アクセスすることができます。 DNS構成に関しては、「RECORDS」と「CNAME RECORDS」を参照してください。 –
@nickbそうです、HAサービスは、HAプロキシがクライアントが接続する単一の仮想IPを共有できるようにすることができます。 UNIX用のHAサービスは、カーペットとキープアライブ、RedHat Cluster SuiteまたはPacemakerなどです。http://serverfault.com/questions/686878/how-to-make-redundant-load-balancers – Yuci
高可用性は、ハードウェアやソフトウェアに障害が発生した場合でも、システムを稼動させて24時間稼働することができます。他の方法では、フォールトトレランスアプリケーションです。これにより、意図されたユーザーに対してアプリケーションを中断なく使用できるようになります。 High Availability Deployment Architecture
ないフェールオーバーするように設定された2つのロードバランサを持つ上
もっと読みます。 –
@Dave Newton、しかし、2人のロードバランサは、入ってくる1回のリクエストにどのように答えますか?想像してみましょう。http://example.comにアクセスして、ブラウザがIPアドレスを解決してからexample.comのIPに単一のリクエストを送信します。複数のサーバがバランサ)は、ブラウザからのWebリクエストに「回答」できますか?ある時点では、障害のポイントとなるハードウェアが1つあります。 – nickb
彼らはしません。 1つです。一方が失敗し始めると、もう一方が引き継ぎます。これを処理するためのさまざまなメカニズムがありますが、すべてSOの質問の範囲を超えています。デズモンドはすでにほとんどすべてのことを言った。 –