¿Cómo se amplían y optimizan los sitios grandes para el tráfico masivo? [cerrado]


8

¿Cómo los sitios como Facebook y Twitter optimizan sus sitios para el tráfico masivo? Además de gastar mucho dinero en obtener los mejores servidores, ¿qué se puede optimizar en su código para acomodar el tráfico masivo?

He leído sobre el almacenamiento en caché de sus páginas en HTML estático, pero eso no es práctico para los sitios de redes sociales donde las páginas se actualizan constantemente.


Si obtiene un acceso promedio de 10000 por segundo, incluso un almacenamiento en caché de 1 segundo le ahorrará 9999 procesos de secuencia de comandos.

Puede que también le interese esto (no puedo encontrar la publicación original de los propietarios de SO): highscalability.com/blog/2009/8/5/…

Aquí hay un video y una presentación que describe algunas de las cosas que los ingenieros de Facebook hicieron para ampliar.
aufather

Respuestas:


14

Facebook es un ejemplo particularmente extremo de carga, pero en general, sitios de alto tráfico:

  1. use una red de entrega de contenido (CDN) para distribuir activos estáticos (CSS y JavaScript) y medios (imágenes, videos, etc.).
  2. use cachés en memoria como Memcached siempre que sea posible para reducir la carga en la base de datos.
  3. tener un equilibrador de carga que distribuye el tráfico a un grupo de servidores web
  4. caché genera fragmentos HTML (por ejemplo, partes de su página de perfil) e inclúyalos al generar una respuesta completa

1
+1 No podría haberlo dicho mejor. Para una red CDN, puedo garantizar Amazon S3 + Cloudfront, que me pareció que funciona muy bien para servir contenido estático. Para la memoria caché, echa un vistazo a Redis también.
Martin Wickman

¿Por qué es Facebook un mal ejemplo?

Oh, no esta mal; Solo digo que la mayoría de los sitios web nunca experimentarán carga en el nivel de experiencia de Facebook o Google.
Bill


1

Red de entrega de contenidos

Facebook utiliza una red de entrega de contenido estático para servir fotos y videos. Verifique la fuente de cualquier imagen en Facebook y verá algo como fbcdn.net.


1
¿Puede al menos explicar qué es CDN, en el contexto de Facebook? Por ejemplo, como el enlace blog.facebook.com/blog.php?post=2406207130
Kanini


¿Cuál es la diferencia entre Cloud Computing y CDN?
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.