Une chose à garder à l'esprit est que, par défaut, les recherches DNS utilisent UDP. Si la réponse est plus grande que celle qui peut tenir dans un seul datagramme, autant de réponses que possible seront retournées et le bit TC (tronqué) est défini dans l'en-tête.
Le demandeur peut choisir de travailler avec ce qui a été renvoyé ou de relancer la requête à l'aide de TCP.
Les serveurs DNS de mise en cache ne sont pas censés mettre en cache les réponses tronquées, car ils ne savent pas à quel point l'ensemble des enregistrements renvoyés est complet (la réponse ne dit pas «Je vous donne 12 des 28 enregistrements»).
Ainsi, le nombre maximal d'enregistrements est un facteur de la quantité que vous pouvez coller dans un datagramme UDP. N'oubliez pas que la réponse doit inclure la section d'autorité, dont la taille variera en fonction de l'enregistrement SOA de la zone.
Si vous utilisez des enregistrements CNAME, cela augmentera également la taille de la réponse, car vous récupérez le CNAME et l'enregistrement A de la chose pointée.
Votre meilleur pari est de jouer avec différents nombres d'enregistrements A en utilisant dig ou "host -v" pour voir quand la requête dépasse la taille maximale d'une réponse UDP.
Il n'y a pas de limite stricte, mais la plupart des sites n'exécutent pas plus de 5 ou 10 miroirs. La mise en miroir via un round robin DNS est plus utile si les sites sont géographiquement séparés de sorte qu'il existe une redondance en plus du partage de charge.
À mesure que le nombre de miroirs augmente, l'efficacité de l'utilisation de la ronde DNS comme partage de charge diminue, car la ronde DNS ne prend pas en compte les différentes demandes nécessitant plus de ressources. Il est préférable d'utiliser l'équilibrage de charge frontal pour répartir la charge de travail en fonction de la charge du processeur et de la disponibilité du serveur, ce qui simplifiera également la maintenance, car un serveur peut être immédiatement arrêté sans modification DNS, ce qui oblige les clients à accéder à un serveur arrêté à partir d'enregistrements DNS mis en cache. .
la source
Je suis en retard à cette question, mais j'ai pensé qu'il serait bien de mentionner les limites réelles de ce que vous pouvez faire. Il n'y a pas de limite théorique que je connaisse, mais plusieurs FAI ne prendront rien au-delà de 36. En fait, si vous incluez plus que cela, cela n'inclura pas seulement les serveurs supplémentaires, ils vous ignoreront complètement. Verizon et Comcast étaient les deux avec lesquels j'ai eu des problèmes, mais je suis sûr que d'autres sont concernés.
Cela dit, si vous avez suffisamment de trafic pour garantir 36 miroirs, n'utilisez pas de DNS à tour de rôle.
la source
Si vous avez beaucoup de serveurs, la meilleure réponse est peut-être de faire comme Akamai et d'utiliser des serveurs DNS anycast et round robin. En d'autres termes, les serveurs DNS de la zone sont répartis sur le net, tous avec les mêmes adresses IP, et les points de routage des clients sur les serveurs les plus proches du réseau. Chaque serveur répond en tourniquet pour un sous-ensemble de la liste complète des serveurs possibles.
la source
Nous faisons quelque chose de très similaire, mais nous utilisons des équilibreurs de charge matériels (Cisco ACEs btw), de cette façon, la seule limite est la taille du sous-réseau (le cas échéant).
la source