【发布时间】:2009-08-14 06:40:11
【问题描述】:
我正在尝试构建一个类似于 Youtube 的网络应用程序(它不是仿冒品),但我想我不知道如何很好地在互联网上提供视频。
我知道如何构建常规的数据库驱动的 Web 应用程序,但没有 Youtube 的可扩展性。我之前构建的所有应用程序都在一台服务器上运行,文件存储在与 Web 服务器相同的盒子上。
如何将应用服务器与文件存储与媒体服务器解耦?
我或多或少想要 4 台机器(机器集群)
1.) 应用服务器 -- 展示网页、处理用户上传、将用户的 Flash 播放器链接到正确的媒体服务器等。
2.) 数据库分片 -- 存储用户信息、查看收藏等
3.) 文件存储 -- 存储媒体文件
4.) 媒体服务器 -- 提供媒体文件
如何将所有这些联系在一起?我应该利用哪些技术?我在哪里可以了解有关构建此架构的更多信息?
Youtube 的可嵌入 Flash 是如何工作的?我想将我的 Flash 播放器嵌入到其他网站,并将其与我的架构相结合。
注意我已经调查过:http://highscalability.com/youtube-architecture
但我仍然不了解这些东西是如何联系在一起的。
如果有人可以用高级术语解释所有这些东西是如何工作的?
是否有专门的客户端服务器在内部运行,以在应用程序服务器、文件存储等之间进行所有这些东西的洗牌。是否全部通过使用 JSON 的 HTTP,这里发生了什么!
谢谢
【问题讨论】:
-
我认为架构位可能会在 ServerFault 上得到更好的答案 - 只是一个想法。
-
我刚发了,有人告诉我发...
-
因顺丰精确复制而关闭;实际上不能使用“exact dup”,也不想第二次推送到SF,所以使用了NPR。
标签: django web-services architecture