Nous disposons d'un ensemble de contenu statique partagé que nous diffusons entre nos sites web à l'adresse suivante http://sstatic.net . Malheureusement, ce contenu n'est actuellement pas du tout équilibré en termes de charge - il est servi par un seul serveur. Si ce serveur a des problèmes, tous les sites qui en dépendent sont effectivement hors service car les ressources partagées sont des bibliothèques javascript et des images partagées essentielles.
Nous cherchons des moyens d'équilibrer la charge du contenu statique sur ce serveur, afin d'éviter la dépendance à un seul serveur.
Je me rends compte que le DNS round-robin est, au mieux, une solution de bas de gamme (certains pourraient même dire que c'est une solution de haut de gamme). ghetto ), mais je ne peux m'empêcher de me demander Le DNS round robin est-il une solution "suffisante" pour l'équilibrage de base de la charge d'un contenu statique ?
Il y a une discussion à ce sujet dans le [dns] [équilibrage de charge] et j'ai lu d'excellents articles sur le sujet.
Je suis conscient des inconvénients courants de l'équilibrage de la charge DNS par le biais de plusieurs enregistrements A round-robin :
- il n'y a généralement pas de battements de cœur ou de détection de défaillance avec les enregistrements DNS, de sorte que si un serveur donné dans la rotation tombe en panne, son enregistrement A doit être supprimé manuellement des entrées DNS.
- le temps de vie (TTL) doit nécessairement être fixé à un niveau très bas pour que cela fonctionne, puisque les entrées DNS sont mises en cache de manière agressive sur Internet.
- les ordinateurs clients sont chargés de vérifier qu'il existe plusieurs enregistrements A et de choisir le bon.
Mais, le DNS round robin est-il suffisant comme solution de départ, mieux que rien, "pendant que nous recherchons et mettons en œuvre de meilleures alternatives" comme forme d'équilibrage de charge pour notre contenu statique ? Ou bien le DNS round robin ne vaut-il pas grand-chose dans le cadre de l'équilibrage de charge ? cualquier circonstances ?
3 votes
HAProxy n'est pas une option ?
7 votes
Comme je l'ai dit dans le message, il s'agit d'une question spécifique sur les points suivants este solution -- peut-on rester sur le sujet ?
4 votes
Équilibrage des charges ( fr.wikipedia.org/wiki/Load_balancing_%28computing%29 ) est très différente de la redondance ( fr.wikipedia.org/wiki/Redondance_%28ingénierie%29 ). Comme Jeff l'a indiqué dans son paragraphe d'introduction, il cherche un moyen d'éliminer un point de défaillance unique (redondance), et non un véritable équilibrage de la charge. Quelqu'un peut-il ré-étiqueter ?
0 votes
C'est vrai, je n'étais pas précis Je pense à eux en termes similaires, mais ils sont techniquement différents. Pour moi, l'un implique l'autre - pouvez-vous même avoir l'équilibrage de charge sans redondance ?
3 votes
@jeff - Absolument, un équilibreur de charge stupide (ce qu'est le DNS round robin ordinaire) ne fait pas de redondance. C'est encore plus difficile si vous parlez d'équilibrage / de redondance sur plusieurs sites.
0 votes
Vous avez été très mal informé. Vous n'avez pas besoin d'un TTL bas. Vous n'avez pas besoin de reconfigurer le DNS en cas de panne. Le serveur DNS (et non le client) définit la liste des préférences - le client ne doit choisir un autre hôte que si le premier choix est indisponible. Vous pouvez facilement ajouter la détection des pannes à votre système de surveillance en ajoutant un nom d'ip unique pour chaque nœud ainsi que le nom du round-robin. Ayant travaillé avec plusieurs sites web de taille moyenne, round-robin s'est toujours avéré plus fiable et moins cher qu'un contrôleur d'équilibrage de charge dédié.
1 votes
@symcbean Non, si une réponse DNS contient plusieurs réponses, le client peut choisir n'importe laquelle d'entre elles et rien ne doit être supposé sur la base de l'ordre renvoyé par le serveur. En particulier, un serveur récursif peut envoyer les réponses dans un ordre complètement différent de celui du serveur original faisant autorité.
0 votes
@Alnitak : s'il vous plaît, allez lire les définitions de 'may', 'should', 'must' incluses dans la plupart des RFCs. Oui, l'ordre n'est pas significatif - mais qu'est-ce que cela a à voir avec ce dont nous parlons ?
2 votes
@symcbean Je suis intimement familier avec les termes de la terminologie documentée dans le RFC 2119. Vous avez dit que le serveur DNS définit la liste de préférences. À moins que vous n'ayez une définition particulièrement étrange des "listes de préférences", ce n'est tout simplement pas vrai.
0 votes
J'ai trouvé cet article très utile pour expliquer comment combiner le DNS Round-Robin et les équilibreurs de charge logiciels : rightscale.com/blog/enterprise-cloud-strategies/