¿Cómo funciona un sitio de gran empresa como Yahoo! manejar gran tráfico?

Discutiré brevemente cómo funciona detrás de escena

El equilibrador de carga
Compañías como Yahoo tienen miles de servidores que sirven al mismo sitio web.
Cuando una computadora escribe en yahoo.com, irá a su servidor principal (llamado equilibrador de carga). Este equilibrador de carga tendrá miles de servidores detrás (por ejemplo, web0001.yahoo.com a través de web1000.yahoo.com). Uno de estos servidores recibirá la solicitud del cliente del equilibrador de carga y enviará la página web real al equilibrador de carga. El equilibrador de carga enviará el contenido de la página web a su computadora.

Red de entrega de contenidos
Ahora digamos que estás en Singapur. Los servidores de Yahoo están en San Francisco. Enviar el archivo estático como el logotipo de Yahoo a través del océano es costoso. Yahoo usará una red de servidores internacionales (en su mayoría compañías de terceros) llamada CDN (Content Delivery Network). Solicitas la página de inicio de Yahoo. Los servidores de Yahoo dividirán su solicitud en varias solicitudes pequeñas. Alguna solicitud será como enviar la imagen del logotipo de Yahoo a su computadora. Luego le pedirá a un servidor CDN ubicado en Singapur que le envíe la imagen del logotipo de Yahoo. El servidor de Yahoo le enviará el resto de las cosas que hacen la imagen. De esta forma, Yahoo te envía menos cosas a través del océano. Eso hará que parezca que la página web se carga más rápido para usted.

La base de datos
Los ingenieros dedican mucho tiempo a evitar las llamadas a la base de datos al representar una página web. Si realmente necesita una llamada a la base de datos, existe el almacenamiento en caché de la base de datos, que almacena en caché los resultados solicitados con frecuencia. Además, la mayoría de los sitios web ejecutan grupos de bases de datos (base de datos única que se ejecuta en varios servidores) o bases de datos replicadas (el mismo contenido de datos copiado en diferentes bases de datos) para administrar la carga de llamadas de la base de datos. El tráfico web masivo requiere una gran cantidad de servidores de bases de datos. Algunos de ellos ni siquiera pueden ser una base de datos. Podría ser una solución especializada: Google bigtable, etc.

Hay muchas otras cosas como el enrutamiento geográfico, el almacenamiento en caché, la compresión de imágenes que permiten a los sitios web manejar un enorme tráfico en la web. Acabo de presentarle una versión simplista sobre cómo puede manejarlo.

More Interesting

¿Por qué necesitamos lenguajes de plantilla HTML? ¿Insertar HTML simple (con elementos de script para lógica) no es suficiente?

¿Qué cosas debe considerar un diseñador de UX al entregar un prototipo al equipo de desarrollo front-end?

¿Cuáles son las cinco bibliotecas de Javascript más útiles que utiliza como desarrollador de Javascript?

¿Cuál es mejor para construir su propio sitio web, HTML / CSS o PHP?

¿Cuáles son algunos proyectos complejos y valiosos de ASP.NET MVC de último año?

Si Jimmy Wales, cofundador de Wikipedia, cambiara su modelo de negocio de una organización sin fines de lucro a una con fines de lucro y respaldada con anuncios pagados, como los anuncios discretos en los resultados del motor de búsqueda de Google, ¿qué valdría Wikipedia?

¿Cuáles son las mejores citas sobre programación y / o tecnología?

¿Existe una versión de RPM de New Relic para PHP? Si no, ¿cuáles son algunos equivalentes de PHP?

¿Cuál es el mejor formato para la respuesta del servidor, XML o JSON?

¿Qué son los certificados SSL? ¿Son útiles y debería tener uno para mi sitio?

Cómo instalar una sala de chat HTML en mi sitio web

¿Quién es el primer empleado en incorporar el diseño a una startup tecnológica, Jefe de Diseño, Jefe de UX, Jefe de Diseño de Producto u otro título?

Cómo crear y diseñar sitios web

¿Cómo alojamos un sitio web que desarrollamos usando Node.js?

¿Es jQuery una biblioteca para scripts de cliente o scripts de servidor?