1 votos

Arquitectura del mundo real

Yo soy una especie de confusión acerca de la forma en el mundo real las aplicaciones web son architectured y yo sería feliz de que algunas aclaraciones . Sé que hay muchos métodos y enfoques diferentes, pero un ejemplo de un sitio como Facebook/Amazon/Youtube sería suficiente . Digamos que me estoy sirviendo de contenido web . Supongo que voy a tener un clúster de servidores web y un grupo de DBs, Un equilibrador de carga de enfrente de ellos .

Mis preguntas son:

  1. ¿Cómo se almacena el código http? se almacena localmente en cada equipo o en un almacenamiento compartido? Si a nivel local, ¿cómo puedo actualizar el código si el sitio web los cambios introducidos

  2. Lo mismo va para el contenido estático , estoy asumiendo que reside en un almacenamiento compartido

  3. Si voy a usar un CDN , lo hace simplemente caché estática todos los datos de acceso? y por cuánto tiempo ?

  4. Lb - ¿puedo tener un clúster de Libras? si es así, ¿cómo funciona ?

  5. ¿Qué DB escogerías para youtube, streaming como sitio? y por qué

Sé que es un montón de preguntas , pero agradecería si me pudieran obtener respuestas a todas. Gracias!

3voto

Some French Guy Puntos 96

¿Cómo se almacena el código http? se almacena localmente en cada equipo o en un almacenamiento compartido? Si a nivel local, ¿cómo puedo actualizar el código si el cambios en el sitio web

Hay un número de maneras que usted puede almacenar el código en el almacenamiento compartido como un NFS/S3 monte - lo que es muy fácil de actualizar de forma centralizada, obviamente, a continuación, introducir un punto único de fallo para las personas a menudo tienen dos copias del código en diferentes almacenamiento, de modo que sólo puede perder la mitad de sus nodos - y usted puede usar esto para azul/verde/prueba de implementación. Otra opción sería la de almacenar en un archivo distribuido del sistema, tales como Ceph o similar, mismo advertencias mantenga obviamente.

Lo mismo va para el contenido estático , estoy asumiendo que reside en un compartida almacenamiento

Generalmente este es el verdadero, un montón de personas que utilizan el almacenamiento basado en la nube para el contenido estático como es a menudo 'cerca de', desde una perspectiva de red, a su Cdn, es raro ver a los contenidos almacenados en servidores web directamente en estos días.

Si voy a usar un CDN , lo hace simplemente caché estática todos los datos de acceso? y por cuánto tiempo ?

Esa es sin duda la base de funcionalidad, por lo general puede hacer mucho más que eso y que el TTL es casi siempre configurable en un objeto individual/archivo base.

Lb - ¿Cómo puede ver si una máquina está sobrecargada (carga avg) en todo caso ?

Un montón de diferentes maneras, las conexiones abiertas, los tiempos de respuesta, recursos compartidos, la utilización de estadísticas - LB puede ser muy adaptable, tengo una enorme cantidad de respeto por las buenas LB gerentes.

Lb - ¿puedo tener un clúster de Libras? si es así, ¿cómo funciona ?

Sí, literalmente niveles de ellos y de la manera que te gusta - como ejemplo tenemos el uso Global de la LB ing para enviar tráfico a un determinado centro de datos basado en un número de factores, a continuación, una vez que se llega a este sitio se obtiene de dividir entre los diferentes servicios-grupos (verde/azul, por ejemplo) y, a continuación, a la real servicio-LBs.

¿Qué DB escogerías para youtube, streaming como sitio? y por qué

No hay uno mejor en la clase DB lo siento - hay demasiados factores, el costo de ser uno de los principales (mi palabra MSSQL y Oracle puede conseguir super spendy estos días!) pero lo principal a tener en cuenta es si tu DB NECESIDADES referencial-integridad como si lo hace, entonces usted necesita una basada en SQL DB (hay gratuitos, aunque, MySQL y PostGRES son muy populares), pero si puedes diseñar tus datos a la derecha, a continuación, usted puede conseguir lejos con 'NoSQL' bases de datos tales como Couchbase/Mongo/Cassandra y absolutamente VOLAR, de manera mucho más rápida que la de SQL para consultas básicas - pero es obvio que es menos rica en características. La otra cosa es que usted puede hacer su DB de trabajar en la nube que ahora - AWS, en particular, tienen una fuerte cartera de DB y tipos de Azure, obviamente, tiene MSSQL como parte de su cartera.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: