我试图build立一个类似于YouTube的networking应用程序(这不是一个closures),但我想我不知道如何在互联网上很好地提供video。
我知道如何build立常规的数据库驱动的Web应用程序,但没有像Youtube的可扩展性。 我之前构build的所有应用程序都已经在一台服务器上运行,文件与networking服务器存储在同一个服务器上。
如何将应用程序服务器从媒体服务器的文件存储中分离出来? 我或多或less想要四台机器(机器群集):
我怎么把所有这一切钩起来? 我应该利用哪些技术? 我去哪里了解更多关于构build这个?
Youtube的embedded式闪存如何工作? 我想在其他网站上embedded我的Flash播放器,并将其与我的架构绑定。
注意:我已经看过: http : //highscalability.com/youtube-architecture
但是我仍然没有把这些东西联系起来的整体情况。 如果有人能够从高层次解释这些东西是如何工作的?
是否有专门的客户服务器在内部运行,以便在应用程序服务器,文件存储等之间对所有这些东西进行洗牌。是否通过使用JSON的HTTP,这里发生了什么?
谢谢!
如何将应用程序服务器从媒体服务器的文件存储中分离出来?
您使用像OCFS2这样的集群文件系统: http : //oss.oracle.com/projects/ocfs2/
SAN存储,OCFS2,每个应用程序服务器都通过iSCSI安装共享文件系统。
更具有异国情调的解决scheme是由LiveJournal使用的MogileFS: http ://www.danga.com/mogilefs/
干杯
那么,它们是如何融合在一起的呢? 关于如何构build您所描述的types的系统,真正依赖于哪个特定的应用程序,您所熟悉的以及需要扩展的程度,有太多的select。
你可以做的最好的是看看所有用于高度可扩展的网站的不同软件,如果你能够阅读教程,文档和看看真实的实现。 看一下像ZeroMQ这样的消息软件,或者其他基于AMQP的软件。 查看不需要手动分片和数据库规范化的可伸缩数据存储。 你可以阅读的东西有很多,可以让你了解一切事物是如何组合在一起的,你可以对整个系统进行适当的鸟瞰。