Sto cercando di capire come funzionano enormi siti come Facebook o Wikipedia, per mia curiosità intellettuale. Ho letto di varie tecniche per costruire siti scalabili, ma sono ancora perplesso su un particolare dettaglio.
La parte che mi confonde è che alla fine il DNS mapperà l'intero dominio su un singolo indirizzo IP o su una manciata di indirizzi IP nel caso del DNS round robin.
Ad esempio, wikipedia.org ha un solo record DNS di tipo A. Pertanto, persone provenienti da tutto il mondo che visitano Wikipedia devono inviare una richiesta all'indirizzo IP specificato nel DNS.
Qual è l'hardware che è in ascolto sull'indirizzo IP di un sito enorme e come può eventualmente gestire tutto il carico proveniente dalle richieste degli utenti di tutto il mondo?
Modifica 1: Grazie per tutte le risposte! Anycast sembra una risposta fattibile ... Qualcuno sa come verificare se un determinato indirizzo IP è instradato in qualsiasi modo, in modo che io possa verificare che questo è davvero il trucco utilizzato nella pratica da grandi siti?
Modifica 2: dopo ulteriori letture sull'argomento, sembra che anycast non sia in genere utilizzato per contenuti Web dinamici. Anycast viene solitamente utilizzato per UDP (ad es. Ricerche DNS) o talvolta per contenuti statici.
Una cosa interessante da notare è che Facebook utilizza profile.ak.fbcdn.net per ospitare contenuti statici come fogli di stile e librerie javascript. Ogni volta che eseguo il ping di questo nome, ricevo una risposta da un indirizzo IP diverso. Tuttavia, non posso dire se questo è anycast in azione o una tecnica completamente diversa.
Tornando alla mia domanda originale: per quanto ne so, anche un sito di grandi dimensioni avrà un unico costoso componente hardware di bilanciamento del carico in ascolto sulla sua manciata di indirizzi IP pubblici.