用云的话,节省你开发成本,快速上线,数据比较安全。缺点是一旦用了他们的,造成习惯之后,数据想迁移就会比较麻烦,你会愈来愈依赖,并且规模上去之后价格并不低。
早年本身作的话,你须要实现分布式文件系统,这个会比较费时间,一些开源的框架又不太靠谱,或者太庞大。不果如今好了,MongoDB 3.0出来了。php
用户读请求(HTTP GET) -> CDN -> Varnish -> PHP -> MongoDB Cluster
用户写请求(HTTP PUT) -> Varnish -> PHP -> MongoDB Cluster前端
机房布局:中心IDC(双线/BGP) PHP + MongoDB Cluster
边缘节点:Varnish散布在电信、联通,移动。通常能够租 VPS来架设 varnish。git
缓存超时:注意在 HTTP头部控制好 Max-Age等超时时间,好比404超时,缓存20秒便可。github
你本身作的话,能够考虑下 MongoDB 3.0 WiredTiger引擎 + PHP来作数据存储,数据按照 crc32的 hash存到32个不一样的 collection里面,而后按照文件名来作 shard key,几百行就搞定了,前端加个CDN。把 MongoDB作后端存储,负责分布式和冗余。你前端接个 PHP+ varnish作缓存,性能和 openstack swift差很少,若是外面再加上 CDN的话,你不用小心访问量了。mongodb
-----------------