Con milioni di utenti che cercano così tante cose su google, yahoo e così via. Come può il server gestire così tante ricerche simultanee? Non ho idea di come l'abbiano reso così scalabile. Qualsiasi comprensione della loro architettura sarebbe gradita.google search engine architecture: in che modo molti utenti contemporanei eseguono una ricerca su di esso
risposta
Un elemento, DNS load balancing. Se si ricarica
più volte, si vedrà macchine diverse rispondere.
Ci sono un sacco di risorse sull'architettura google, questo sito ha una bella lista:
sono andato alla ricerca di informazioni su questo argomento di recente e Wikipedia's Google Platform article stato il migliore tutto intorno alla fonte di informazioni su come Google lo fa. Tuttavia, il blog di alta scalabilità ha articoli straordinari sulla scalabilità quasi ogni giorno. Assicurati di controllare anche il loro Google architecture article.
Il concetto principale nella maggior parte delle applicazioni altamente scalabili è clustering.
Alcune risorse relative all'architettura cluster di diversi motori di ricerca.
- http://static.googleusercontent.com/external_content/untrusted_dlcp/labs.google.com/en//papers/googlecluster-ieee.pdf
- https://opencirrus.org/system/files/OpenCirrusHadoop2009.ppt
È possibile anche leggere gli articoli di ricerca interessanti a Google Research e Yahoo Research.
Il bilanciamento del carico DNS è corretto, ma non è la risposta completa alla domanda. Google utilizza una moltitudine di tecniche, compreso ma non limitato a quanto segue:
- bilanciamento del carico DNS (suggerito)
- Clustering - come suggerito, ma è da notare i seguenti
- database in cluster (l'archiviazione di database e il recupero si sviluppa su molte macchine)
- servizi web cluster (analoghe a DNSLB qui)
- Un sviluppati internamente cluster/sistema di archiviazione distribuito
- indici di ricerca altamente ottimizzati e algoritmi, rendendo lo storage efficiente e rapido recupero nel cluster
- Caching di richieste (calamari), risposte (calamari), database (in memoria, vedere schegge nell'articolo di cui sopra)
+1 aggiornamento piacevole alla risposta accettata – mtasic85
+1 molto utile – mtasic85