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. API di ricerca su Google App Engine
- 2. Google App Engine (python): API di ricerca: ricerca stringa
- 3. Python: Clustering Search Engine Parole
- 4. uso di ricerca Solr (Lucene) su Google App Engine
- 5. Statistiche delle versioni iOS che gli utenti eseguono l'app su
- 6. google image search api limit
- 7. Come eliminare entità dal motore di Google Search Engine Datastore?
- 8. Ricerca a testo integrale su Google App Engine (Java)
- 9. Google search policy
- 10. Web driver di selenio fare clic su google search
- 11. Modellazione molti-a-molti con dati di relazione in Google App Engine
- 12. Esiste un'API di Google Image Search?
- 13. Implementazione di tag su Google App Engine
- 14. In che modo Google App Engine precompila Java?
- 15. Sphinx Search Engine & Python API
- 16. Jsoups eseguiti in modo non corretto su Google App Engine
- 17. In che modo Cufon influenza SEO e Search Bots?
- 18. In che modo WebRTC gestisce connessioni molti-a-molti?
- 19. Google Chrome: API di ricerca?
- 20. Semplice esempio di gestione degli utenti per Google App Engine?
- 21. OpenID per Google App Engine
- 22. Google App Engine su dominio Google Apps
- 23. eCommerce su Google App Engine
- 24. Retrolambda su Google App Engine
- 25. Come posso impostare una ricerca di facet con una relazione molti a molti usando Sunspot?
- 26. web.py su Google App Engine
- 27. Google App Engine APNS
- 28. Google Search API per sistemi Android
- 29. Impossibile ottenere risultati più di 100 risultati su google search search personalizzata
- 30. Ricerca avanzata Utilizzo di Hibernate Search
+1 molto utile – mtasic85