回答:
DNSラウンドロビンは、ロードバランサーの代わりにはなりません。DNSサーバーはダウンしているノードのIPを引き続き提供するため、一部のユーザーはサービスにアクセスでき、一部のユーザーはサービスにアクセスできません。
クライアントがDNSクエリを行うと、DNSサーバーはその名前に関連付けられたすべてのIPアドレスを返します。魔法は、すべてのクエリに対してそのリストの順序をローテーションするDNSサーバーによって行われます。ただし、機能するIPが見つかるまでリストを「ウォーク」する機能を実装するかどうかは、アプリケーション次第です。そして、ほとんどのアプリケーションはそれを行いません。
奇妙なことに、Windows Telnetは、返されたIPのリンクリストをたどるのに十分スマートなアプリケーションの1つです。たとえば、google.comにtelnetしようとすると、この動作を自分で確認できます。あなたはそれがかかることがわかります長い最終的に失敗する時間を。これは、google.comに多数のIPアドレスがあり、Telnetクライアントがすべてを試行していたためです。
ロードバランサーを使用しても、単一障害点が残ります。ロードバランサーがオフラインになると、ウェブサイトがダウンします。
上記の答えにConteraryは、ほとんどのHTTPクライアントは、すでにDO有効な応答を持つ1戻るまで、DNSクエリから返された各IPアドレスをしようとしてサポートします。こちらをご覧ください:
http://blog.engelke.com/2011/06/07/web-resilience-with-round-robin-dns/
作者は以下のブラウザをテストしたところ、正常に動作することがわかりました。
Windows 7上のChrome 11、Windows 7上の
Firefox 4.0、Windows 7
上のInternet Explorer 8 、Windows 7 上のInternet Explorer 8、Windows 7上の
Opera 11、Windows 7上の
Safari 5
、Windows XP上のInternet Explorer 7(大幅な遅延後)
Windows XP上のFirefox 4.0(顕著な遅延後)
AndroidネイティブブラウザーAndroid 2.3.3の場合
iOS 4.3.3のiPhoneネイティブブラウザ
ラウンドロビンを使用しても、ロードバランシングサーバーのすべての機能が実行されるわけではありません。たとえば、両方のサーバーからの応答時間を監視し、もう一方が必要な速度で応答しない場合は、より多くのトラフィックを一方にルーティングできます。回復力については、単一障害点がなくなったので、ラウンドロビンDNSがおそらくより良いソリューションと言えます。