Ist Round-Robin-DNS eine mögliche Lösung für hohe Verfügbarkeit?


Antworten:


13

DNS Round Robin ist kein guter Ersatz für einen Load Balancer. Der DNS-Server gibt weiterhin die IP-Adresse des ausgefallenen Knotens weiter, sodass einige Ihrer Benutzer zu Ihrem Dienst gelangen und andere nicht.

Wenn der Client die DNS-Abfrage durchführt, gibt der DNS-Server alle mit diesem Namen verknüpften IP-Adressen zurück. Die Magie wird durch den DNS-Server ausgeführt, der die Reihenfolge dieser Liste für jede Abfrage dreht. Es ist jedoch Sache der Anwendung, die Fähigkeit zu implementieren, durch die Liste zu "gehen", bis eine funktionierende IP gefunden wird. Und die meisten Anwendungen tun das nicht.

Seltsamerweise ist Windows Telnet eine solche Anwendung, die intelligent genug ist, um die verknüpfte Liste der zurückgegebenen IP-Adressen zu durchsuchen. Sie können dieses Verhalten selbst sehen, wenn Sie beispielsweise versuchen, eine Telnet-Verbindung zu google.com herzustellen. Sie werden feststellen, dass es lange dauert, bis es endgültig fehlschlägt. Das liegt daran, dass google.com viele IP-Adressen hat und der Telnet-Client alle ausprobiert hat.


Ich verstehe, dass Clients immer beide IPs vom NS erhalten. Es ist nur so, dass sie standardmäßig den ersten in der Liste auswählen. Aber was ist, wenn der erste unten ist? werden sie es mit dem zweiten versuchen?
GetFree

9
Es kommt ganz auf die Anwendung an. Wenn es sich beispielsweise um Webbrowser handelt, durchsuchen die meisten modernen Webbrowser die Liste, bis sie erfolgreich sind. Einige Browser (normalerweise ältere) schlagen erst fehl, nachdem die erste erfolglose IP-Adresse ausprobiert wurde. Weitere Informationen: nber.org/sys-admin/dns-failover.html und blog.engelke.com/2011/06/07/web-resilience-with-round-robin-dns
Ryan Ries

Laut den von Ihnen angegebenen Links scheint es zu funktionieren. Zumindest für HTTP-Clients (was mir gerade wichtig ist). Alle modernen Browser und sogar HTTP-Clients niedrigerer Ebene führen ein Failover auf eine andere IP-Adresse in der Liste durch.
GetFree

Ja. Ich wollte Ihnen nur den Vorbehalt geben, dass es von der Anwendung abhängt. YMMV usw.
Ryan Ries

@ RyanRies, Gibt der RFC Empfehlungen zum Kundenverhalten? Ist Telnet kompatibel, wenn alle IPs ausprobiert werden, anstatt nur die erste zu verwenden?
Pacerier

14

Die Verwendung eines Load Balancers hinterlässt immer noch einen einzigen Fehlerpunkt. Wenn Ihr Load Balancer offline geschaltet wird, fällt Ihre Website aus.

Conterary auf die obige Antwort, die meisten HTTP - Clients bereits DO unterstützte jede IP - Adresse versucht , von einer DNS - Abfrage , bis eine Rückkehr mit einer gültigen Antwort zurückgegeben. Bitte sehen Sie hier:

http://blog.engelke.com/2011/06/07/web-resilience-with-round-robin-dns/

Es scheint, dass der Autor die folgenden Browser getestet hat und festgestellt hat, dass sie einwandfrei funktionieren.

Chrome 11 unter Windows 7
Firefox 4.0 unter Windows 7
Internet Explorer 8 unter Windows 7
Opera 11 unter Windows 7
Safari 5 unter Windows 7
Internet Explorer 7 unter Windows XP (nach spürbarer Verzögerung)
Firefox 4.0 unter Windows XP (nach merklicher Verzögerung)
Android-Browser unter Android 2.3.3
iPhone nativer Browser unter iOS 4.3.3

Die Verwendung von Round Robin bietet nicht alle Funktionen eines Lastausgleichsservers, z. B. die Möglichkeit, die Antwortzeiten von beiden Servern zu überwachen und mehr Datenverkehr an einen Server weiterzuleiten, wenn der andere nicht so schnell reagiert, wie er sollte. Aus Gründen der Ausfallsicherheit würde ich sagen, dass Round Robin DNS wahrscheinlich eine bessere Lösung ist, da es keinen einzigen Fehlerpunkt mehr gibt.


Siehe zweiten Kommentar in der akzeptierten Antwort
GetFree

2

Während Round-Robin-DNS normalerweise keine Rückmeldung über den Status der Server hat, für die Adressen bereitgestellt werden, kann es hilfreich sein, wenn Sie für jede dieser Adressen eine Art Load Balancer (einschließlich routerbasierter Tricks) haben.

Es gibt Tricks, um DNS zu aktualisieren, wenn etwas fehlschlägt. In diesem Fall kann Round-Robin-DNS mit entsprechend kurzen TTLs ein Pseudo-Load-Balancer sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.