Es ist bemerkenswert, wie viele der Mitwirkenden dazu beitragen, Fehlinformationen über DNS Round Robin als Mechanismus zur Lastverteilung und Ausfallsicherheit beizutragen. Normalerweise funktioniert es, aber Sie müssen verstehen, wie es funktioniert, und die Fehler vermeiden, die durch all diese Desinformationen verursacht werden.
1) Die TTL für DNS-Einträge, die für Round Robin verwendet werden, sollte kurz sein - aber NICHT NULL. Wenn die TTL auf Null eingestellt ist, ist dies die wichtigste Voraussetzung für die Ausfallsicherheit.
2) DNS RR breitet sich aus, verteilt aber nicht die Last, da sie über einen großen Kundenstamm hinweg dazu neigen, den DNS-Server unabhängig abzufragen, und so zu unterschiedlichen DNS-Einträgen der ersten Wahl führen. Diese verschiedenen ersten Auswahlmöglichkeiten bedeuten, dass die Clients von verschiedenen Servern bedient werden und die Last verteilt ist. Es hängt jedoch davon ab, auf welchem Gerät die DNS-Abfrage ausgeführt wird und wie lange das Ergebnis gespeichert bleibt. Ein häufiges Beispiel ist, dass alle Clients hinter einem Unternehmensproxy (der die DNS-Abfrage für sie ausführt) auf einen einzelnen Server abzielen. Die Last ist verteilt - aber nicht gleichmäßig verteilt.
3) DNS RR bietet Ausfallsicherheit, solange die Client-Software dies ordnungsgemäß implementiert (und die Aufmerksamkeitsspanne von TTL und Benutzern nicht zu kurz ist). Dies liegt daran, dass DNS-Round-Robin eine geordnete Liste von Server-IP-Adressen bereitstellt und die Client-Software versuchen sollte, nacheinander eine Verbindung zu jedem dieser Server herzustellen, bis ein Server gefunden wird, der die Verbindung akzeptiert.
Wenn also der Server der ersten Wahl ausfällt, die TCP / IP-Verbindung des Clients abläuft und weder die TTL noch die Aufmerksamkeitsspanne abgelaufen sind, unternimmt die Client-Software einen weiteren Verbindungsversuch zum zweiten Eintrag in der Liste - und so weiter bis zum TTL läuft ab oder es kommt zum Ende der Liste (oder der Benutzer gibt angewidert auf).
Eine lange Liste defekter Server (Ihr Fehler) und große TCP / IP-Verbindungswiederholungslimits (Clientkonfigurationsfehler) können lange dauern, bis der Client tatsächlich einen funktionierenden Server findet. Zu kurzes TTL bedeutet, dass es sich nie ans Ende der Liste durcharbeitet, stattdessen eine neue DNS-Abfrage ausgibt und eine neue Liste bereitgestellt wird (hoffentlich in einer anderen Reihenfolge).
Manchmal hat der Client Pech und die neue Liste beginnt immer noch mit kaputten Servern. Um dem System die beste Chance zu geben, Client-Ausfallsicherheit zu bieten, sollten Sie sicherstellen, dass die TTL länger als die typische Aufmerksamkeitsspanne ist und der Client am Ende der Liste angekommen ist.
Sobald der Client einen funktionierenden Server gefunden hat, sollte er sich daran erinnern, und wenn er die nächste Verbindung herstellen muss, sollte er die Suche nicht wiederholen (es sei denn, die TTL ist abgelaufen). Eine längere TTL verringert die Häufigkeit, mit der Benutzer Verzögerungen erleben, während der Client nach einem funktionierenden Server sucht.
4) DNS TTL kommt zum Tragen, wenn Sie die DNS-Einträge manuell ändern möchten (z. B. um einen langfristig defekten Server zu entfernen), dann ermöglicht eine kurze TTL, dass sich diese Änderung schnell verbreitet (sobald Sie sich daran gewöhnt haben) Überlegen Sie, wie lange es dauern wird, bis Sie über das Problem informiert sind, und nehmen Sie diese manuelle Änderung vor. Außerdem müssen normale Clients erst nach Ablauf der TTL eine neue Suche nach einem funktionierenden Server durchführen.
DNS Round Robin verfügt über zwei herausragende Funktionen, die es in einer Vielzahl von Szenarien sehr kostengünstig machen: Zum einen ist es kostenlos und zum anderen ist es fast so geografisch verteilt wie Ihr Kundenstamm.
Es wird keine neue "Einheit des Scheiterns" eingeführt, wie es alle anderen "cleveren" Systeme tun. Es gibt keine zusätzlichen Komponenten, bei denen über eine ganze Reihe miteinander verbundener Elemente ein gemeinsamer und gleichzeitiger Ausfall auftreten kann.
Die 'cleveren' Systeme sind großartig und bieten wunderbare Mechanismen zum Koordinieren und Bereitstellen eines nahtlosen Ausgleichs- und Failover-Mechanismus. Letztendlich sind jedoch genau die Methoden, mit denen sie diese nahtlose Erfahrung ermöglichen, ihre Achillesferse - die zusätzliche komplizierte Sache, die schief gehen kann. und wenn dies der Fall ist, erhalten Sie eine nahtlose systemweite Erfahrung mit Fehlern.
JA, DNS Round Robin ist definitiv "gut genug" für Ihren ersten Schritt über einen einzelnen Server hinaus, auf dem alle statischen Inhalte an einem Ort gehostet werden.