Beachten Sie, dass DNS-Lookups standardmäßig UDP verwenden. Wenn die Antwort größer ist als in ein einzelnes Datagramm passen kann, werden so viele zurückgegeben, wie passen, und das TC-Bit (abgeschnitten) wird im Header gesetzt.
Der Anforderer kann wählen, ob er mit den zurückgegebenen Daten arbeiten oder die Abfrage mithilfe von TCP erneut versuchen möchte.
Das Zwischenspeichern von DNS-Servern soll keine abgeschnittenen Antworten zwischenspeichern, da sie nicht wissen, wie vollständig die zurückgegebenen Datensätze sind (in der Antwort steht nicht "Ich gebe Ihnen 12 von 28 Einträgen").
Die maximale Anzahl von Datensätzen hängt also davon ab, wie viel Sie in ein UDP-Datagramm stecken können. Denken Sie daran, dass die Antwort den Berechtigungsabschnitt enthalten muss, dessen Größe je nach SOA-Datensatz für die Zone variiert.
Wenn Sie CNAME-Datensätze verwenden, erhöht dies auch die Größe der Antwort, da Sie den CNAME- und den A-Datensatz des Objekts zurückerhalten, auf das verwiesen wird.
Am besten spielen Sie mit dig oder "host -v" mit verschiedenen A-Datensätzen, um festzustellen, wann die Abfrage die maximale Größe einer UDP-Antwort überschreitet.
Es gibt keine feste Grenze, aber auf den meisten Websites werden nicht mehr als 5 oder 10 Spiegel ausgeführt. Das Spiegeln über DNS Round Robin ist am nützlichsten, wenn die Sites geografisch getrennt sind, sodass neben der Lastverteilung auch Redundanz besteht.
Mit zunehmender Anzahl von Spiegeln nimmt die Effizienz der Verwendung von DNS-Round-Robin als Lastverteilung ab, da DNS-Round-Robin keine unterschiedlichen Anforderungen berücksichtigt, die mehr Ressourcen erfordern. Es ist besser, den Front-End-Lastausgleich zu verwenden, um die Arbeitslast nach CPU-Last und Serververfügbarkeit zu verteilen. Dies vereinfacht auch die Wartung, da ein Server ohne DNS-Änderung sofort heruntergefahren werden kann, was dazu führt, dass Clients versuchen, über zwischengespeicherte DNS-Einträge auf einen ausgefallenen Server zuzugreifen .
quelle
Ich komme zu spät zu dieser Frage, aber ich dachte, es wäre schön, die tatsächlichen Grenzen Ihrer Möglichkeiten zu erwähnen. Es gibt keine theoretische Grenze, die mir bekannt ist, aber mehrere ISPs nehmen nichts über 36 hinaus. Wenn Sie mehr als das einschließen, werden nicht nur die zusätzlichen Server nicht berücksichtigt, sondern Sie werden auch vollständig ignoriert. Verizon und Comcast waren die beiden, mit denen ich Probleme hatte, aber ich bin sicher, dass andere davon betroffen sind.
Wenn Sie jedoch über genügend Datenverkehr verfügen, um 36 Spiegel zu gewährleisten, verwenden Sie bitte kein Round-Robin-DNS.
quelle
Wenn Sie viele Server haben, ist es vielleicht die beste Antwort, Akamai zu verwenden und Anycast-DNS-Server und Round Robin zu verwenden. Mit anderen Worten, die DNS-Server für die Zone sind im Internet verteilt, alle mit denselben IP-Adressen, und Routingpunkte-Clients auf den nächstgelegenen Servern im Netzwerk. Jeder Server antwortet im Round-Robin-Verfahren auf eine Teilmenge der vollständigen Liste möglicher Server.
quelle
Wir machen etwas sehr Ähnliches, aber wir verwenden Hardware-Load-Balancer (übrigens Cisco ACEs). Auf diese Weise ist die einzige Grenze die Subnetzgröße (falls dies der Fall ist).
quelle