2009-08-14 21 views
5

Estoy tratando de crear una aplicación web que sea similar a Youtube (no es una imitación), pero creo que no sé cómo se sirve el video en Internet muy bien.¿Dónde ir para aprender sobre arquitectura web? Ejemplo de Youtube?

Sé cómo crear aplicaciones web basadas en bases de datos regulares, pero nada como la escalabilidad de Youtube. Todas las aplicaciones que he creado anteriormente se han ejecutado en un servidor con los archivos almacenados en el mismo cuadro que el servidor web.

¿Cómo se puede desacoplar el servidor de aplicaciones del almacenamiento de archivos del servidor de medios?

lo haría falta más o menos 4 máquinas (agrupaciones de máquinas)

servidores 1.) Aplicación - Presentar la página web, manejar archivos de usuario, vincular reproductor flash del usuario al servidor de medios correcta, etc.

fragmentos 2.) de base de datos - almacenan información del usuario, comprobar favoritos, etc.

3.) de almacenamiento de archivos - Almacenar los archivos multimedia

servidores 4.) Medios - servir a los archivos multimedia

¿Cómo conecto todo esto junto? ¿Qué tecnologías debería aprovechar? ¿A dónde voy para aprender más sobre cómo diseñar esto?

¿Cómo funciona el flash incrustante de Youtube? Quiero incrustar mi reproductor flash en otros sitios web y vincularlo a mi arquitectura.

Nota He mirado en: http://highscalability.com/youtube-architecture

Pero sigo sin obtener la imagen global de cómo estas cosas lazos juntos.

Si alguien puede explicar en términos de alto nivel cómo funciona todo esto?

¿Hay servidores dedicados de cliente que ejecutan internamente para barajar todas estas cosas entre los servidores de aplicaciones, almacenamiento de archivos, etc. Es todo a través de HTTP utilizando JSON, lo que está pasando aquí!

Gracias

+0

Creo que la arquitectura podría obtener una mejor respuesta en ServerFault, solo un pensamiento. – karim79

+0

http://serverfault.com/questions/54103/where-to-go-to-learn-about-web-architecture-youtube-example <--- duplicado exacto – derobert

+0

Acabo de publicarlo, me dijeron que publicara allí ... –

Respuesta

1

dos libros que me recomiendo son:

Este último es el director de ingeniería en flickr. No en youtube, pero creo que lo encontrarás esclarecedor.

Más allá de eso, el blog High Scalability es una buena fuente de estudios de casos y sabiduría recopilada, todo lo cual proporciona un buen punto de partida para una mayor exploración.

0

Comience por contratar a las personas adecuadas; si contratas personas inteligentes, podrán encontrar las respuestas a estas preguntas y surgirán más.

Además, comience en la báscula en la que planea operar inicialmente.No planifique la escalabilidad que no necesita. No vas a hacer otro Youtube, incluso si tienes mucho éxito en tu campo.

La escalabilidad es costosa, muy costosa, de desarrollar y mantener. Si no lo necesita, agotará sus recursos y restringirá innecesariamente a sus desarrolladores. Solo construir un entorno de prueba creíble para sistemas de alto rendimiento tiende a ser un gran trabajo, y tal sistema requeriría varios entornos similares.

+0

Bien, supongo que mi primera pregunta es, tengo la base de datos y el servidor de aplicaciones caídos, pero si necesito que Flash tenga un gran depósito de archivos, ¿cómo puedo hacer eso? –

Cuestiones relacionadas