使用哪个网站/数据库架构,许多HTTP请求+媒体文件上传


Which website/database architecture to use, many HTTP requests + mediafile uploads?

我开始重新设计我当前的网站项目,并希望用一种可以帮助我轻松扩展并具有良好性能的架构来取代它。

我们的原型运行在PHP框架(CAKEPHP)+mySQL Server+1ghz病毒服务器WIN2008服务器上(可行性测试)。

此系统将无法联机,因为它将无法满足要求。

  • 应该能够每秒处理大量的HTTP请求(可能通过hadoop实现可伸缩性?)可能会成为瓶颈
  • 应该能够在文件系统读写+媒体转换上处理每分钟多次同时上传(媒体文件)(Atm类似LAME编码器,有更快的工具吗?)=>瓶颈
  • 数据库每秒获得许多查询(不知何故,使用集群SQL Cluster或任何更便宜的产品?)
  • 将CDN用于静态媒体文件
  • UNIX系统
  • 应该使用文件压缩吗?CPU与带宽成本

可怕的部分是HTTP请求和媒体上传&转换器

我开始在www.highscalebility.com上搜索一些好的电子书,如果这里的一些专业人士能给我一些建议,我们将不胜感激。

你可以看看这些书:

  • 高性能网站:前端必备知识工程师(Steve Souders)
  • 更快的网站:性能最佳Web开发人员实践(Steve Souders)
  • 构建可扩展网站(Cal Henderson)
  • 以Linux作为操作系统
  • Nginx作为Web服务器(服务器实例可以负载平衡)Nginx可以处理很多的http请求
  • 用于缓存的Redis
  • Solr或Sphinx用于搜索
  • 您可以使用mongdb来存储文件或查看mogilefs

对于媒体转换,您可以尝试node.js:http://www.benfarrell.com/2012/06/14/morph-your-media-with-node-js/.

github上有几个转换(?)库:http://github.com/TooTallNate/node-lame

也许一些安装了gearman的服务器也可以处理转换。

  1. 使用Linux作为Centos,debian没有windows
  2. 使用伪静态
  3. 使用缓存
  4. 如果浏览速度不快,您应该需要CDN
  5. 如果你有足够的钱,更多的CPU是完美的
  6. 你可以使用一些交通监控软件来判断是否需要是否增加带宽