用雲的話,節省你開發成本,快速上線,數據比較安全。缺點是一旦用了他們的,造成習慣之後,數據想遷移就會比較麻煩,你會愈來愈依賴,並且規模上去之後價格並不低。
早年本身作的話,你須要實現分佈式文件系統,這個會比較費時間,一些開源的框架又不太靠譜,或者太龐大。不果如今好了,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
-----------------