【架構】需求決定架構 —— 萌Mark的架構升級之路
來自: http://blog.csdn.net/diandianxiyu_geek/article/details/50491265
前言
2014年到2015年,是IP爆發的一年,在這一年中,出現很多因為IP火起來的產品。其中有一款產品,憑借著新奇的玩法和萌萌的IP形象,取得了不俗的成績,也使我司得到數量客觀的融資。
萌Mark,萌mark—呆萌漫畫DIY、心情分享有圖配。
架構升級之路
在這個項目中,我擔任的為服務端主程好吧 ,服務端連部署也是我一個人做的 :),看著這個項目從0到1,再從1到N的發展歷程,下面對整個服務端的架構實現以及發展進行技術分享,希望得到學習。
從無到有,基本實現
產品的第一階段,為快速實現階段。需要用最短的時間驗證一個產品的想法是不是正確。
我們采用的是阿里云,進行線上的服務器部署。
項目初期,采用較低配置的ECS服務器以及RDS服務器,由于沒有配備專業的運維人員,我們把主要的運維工作交給了阿里云。
這樣,我們就用很低的成本跑出了簡單的第一個版本。
實際出發,需求為王
每個產品的特性不同,也就意味著架構演變的流程是不同的。
萌Mark是以圖片為核心的產品,數據傳輸是以圖片為核心,擴展出眾多參數,所以,圖片數據是整個研發過程中的重點。
我們采用阿里云的OSS文件存儲,配合CDN加速,同時解決了圖片訪問速度問題,和圖片占用服務器帶寬的問題,阿里云的帶寬很貴的,你懂的~
這樣,結合產品特性的初期架構基本搭建完成,正式版本的項目發布,開始跑數據了。
縱向擴展,簡單擴充
產品上線之后,用戶數量出現了增長,同時數據訪問增加。
低配置的服務器已經不能滿足需求,我們開始了對服務器配置的簡單升級。
同時對于專題模板之類的數據,數據上傳之后幾乎不會變化,所以,加入了緩存層,對數據庫的需要訪問的數據進行緩存,這里采用的是阿里云的OCS緩存層,用起來和Memecache一樣,不是專業運維就不要搶專業運維的活兒,小心挖坑把自己埋了~
橫向延展,負載均衡
隨著項目擴展,單機服務器升級的成本到達了投入成本的性能的臨界點,過了這個點之后,升級配置的成本超過了獲得性能的增量。
恩,是時候用負載均衡了…
通過增加同等配置的服務器,在加上阿里云的SLB負載均衡服務,不僅可以只管控制服務器的上線下線,還可以隱藏服務器對外ip,還可以達到不切斷服務更新線上環境~
總結
- 架構升級不能一步到位,沒有需要的升級都是在浪費預算
- 根據需求排序優先級解決問題,產品不同,升級路徑不同
- 盡可能降低潛在的坑,不會運維不要硬上 </ul>
P.S.
對小團隊的產品開發,實現優先于運行效率,快速實現就是最大的節約成本。
</div>