J'essaie de comprendre comment fonctionnent des sites gigantesques comme Facebook ou Wikipedia, pour ma curiosité intellectuelle. J'ai lu différentes techniques pour créer des sites évolutifs, mais je suis toujours perplexe sur un détail en particulier.
Ce qui me dérange, c’est qu’au final, le DNS mappera l’ensemble du domaine sur une seule adresse IP, voire sur quelques adresses IP dans le cas d’un DNS à tour de rôle.
Par exemple, wikipedia.org n’a qu’un seul enregistrement DNS de type A. Ainsi, les personnes de partout dans le monde qui visitent Wikipedia doivent envoyer une demande à l'adresse IP spécifiée dans le DNS.
Quel est le matériel qui écoute l'adresse IP d'un grand site et comment peut-il gérer toute la charge créée par les demandes des utilisateurs du monde entier?
Edit 1: Merci pour toutes les réponses! Anycast semble être une solution envisageable ... Quelqu'un connaît-il un moyen de vérifier si une adresse IP particulière est routée par anycast, afin que je puisse vérifier qu'il s'agit bien du truc utilisé en pratique par les grands sites?
Edit 2: Après plus de lecture sur le sujet, il apparaît que anycast n'est généralement pas utilisé pour le contenu Web dynamique. Anycast est généralement utilisé pour UDP (par exemple, les recherches DNS) ou parfois pour du contenu statique.
Une chose intéressante à noter est que Facebook utilise profile.ak.fbcdn.net pour héberger du contenu statique tel que des feuilles de style et des bibliothèques javascript. Chaque fois que je coche ce nom, je reçois une réponse d'une adresse IP différente. Cependant, je ne peux pas dire s'il s'agit d'un anycast en action ou d'une technique complètement différente.
Revenons à ma question initiale: pour autant que je sache, même un grand site aura un seul élément coûteux de matériel d’équilibrage de charge qui écoute sur sa poignée d’adresses IP publiques.