Con millones de usuarios buscando tantas cosas en google, yahoo, etc. ¿Cómo puede el servidor manejar tantas búsquedas concurrentes? No tengo idea de cómo lo hicieron tan escalable. Cualquier visión sobre su arquitectura sería bienvenida.arquitectura del motor de búsqueda de Google: ¿cómo hacen tantos usuarios concurrentes haciendo una búsqueda en él?
Respuesta
Un elemento, DNS load balancing. Si vuelve a cargar
varias veces, verá diferentes máquinas de responder.
Hay un montón de recursos en Google arquitectura, este sitio tiene una buena lista:
he ido buscando información sobre este tema recientemente y Wikipedia's Google Platform article era el mejor de todos alrededor de la fuente de información sobre cómo Google lo hace. Sin embargo, el blog High Scalability tiene artículos excepcionales sobre escalabilidad casi todos los días. Asegúrese de revisarlo también en su Google architecture article.
El concepto principal en la mayoría de las aplicaciones altamente escalables es clustering.
Algunos recursos relacionados con la arquitectura de clúster de diferentes motores de búsqueda.
- http://static.googleusercontent.com/external_content/untrusted_dlcp/labs.google.com/en//papers/googlecluster-ieee.pdf
- https://opencirrus.org/system/files/OpenCirrusHadoop2009.ppt
También puede leer artículos de investigación interesantes en Google Research y Yahoo Research.
DNS Load Balancing es correcto, pero en realidad no es la respuesta completa a la pregunta. Google utiliza una multitud de técnicas, incluyendo, pero no limitado a lo siguiente:
- equilibrio de carga DNS (sugerido)
- Clustering - como se sugiere, pero tenga en cuenta los siguientes
- bases de datos agrupados (el almacenamiento de base de datos y la recuperación se extiende por muchas máquinas)
- servicios web agrupadas (análogos a DNSLB aquí)
- Un/sistema de archivo distribuido desarrolladas internamente agrupado
- altamente optimizado índices y algoritmos de búsqueda, por lo que el almacenamiento eficiente y rápida recuperación a través del clúster
- almacenamiento en caché de solicitudes (calamar), las respuestas (calamar), bases de datos (en la memoria, ver fragmentos en el artículo anterior)
+1 actualización agradable a la respuesta aceptada – mtasic85
- 1. motor de búsqueda de Google y paginación
- 2. Haciendo aplicación GWT rastreable por un motor de búsqueda
- 3. Motor de búsqueda en Java?
- 4. Motor de búsqueda ASP.NET
- 5. ¿Cómo agrupar las palabras clave del motor de búsqueda?
- 6. ¿Cómo diseñar un motor de búsqueda personalizado?
- 7. programador amigable motor de búsqueda?
- 8. Motor de búsqueda similar a Google en PHP/mySQL
- 9. Motor de búsqueda para .net
- 10. Diagrama de flujo del analizador del motor de búsqueda
- 11. motor de búsqueda con 'Quiso decir'
- 12. Motor de búsqueda Lucene vs Base de datos de búsqueda
- 13. Paquete de motor de búsqueda instalable para búsqueda de archivos
- 14. ¿Está disponible el motor de búsqueda de ssl para google?
- 15. Creación de un motor de búsqueda web
- 16. Normal Búsqueda personalizada de Google
- 17. ¿Cómo resalta un sitio web los términos de búsqueda que utilizó en el motor de búsqueda?
- 18. ¿Hay alguna forma de acceder mediante programación a los resultados del motor de búsqueda de Google?
- 19. Búsqueda de imágenes de Google: ¿cómo puedo construir una URL de búsqueda de imágenes inversa?
- 20. Optimización del motor de búsqueda - ¿Guía del desarrollador?
- 21. Android: ListView haciendo una búsqueda Filtro
- 22. API de búsqueda de Google
- 23. badoo.com búsqueda de usuarios: ¿cómo se puede hacer esto?
- 24. motor de búsqueda Palabras clave Analizador
- 25. motor de búsqueda de expresiones regulares
- 26. Búsqueda de Google con Python
- 27. Motor de búsqueda - Lucene o Solr
- 28. ¿Cuál es el motor de búsqueda del navegador Sogou?
- 29. cómo hacer un motor de búsqueda para el sitio web?
- 30. Haciendo una Barra de Progreso Skinny Customizada/barra de búsqueda
+1 muy útil – mtasic85