天天看點

從又拍雲看雲存儲服務的可用性

“雲”這個概念在今年非常的火熱,2年前國内的雲存儲服務還隻有又拍雲存儲一家,如今國内已不下十家,面對如此多的雲服務商,選擇雲服務的标準成了大家比較關注的問題。 又拍雲 在其 維基上交流了一些心得

:

我們在六年的雲服務經驗基礎上沉澱了三個詞:安全穩定、快速、易用。

一、安全穩定

從又拍雲看雲存儲服務的可用性

雲服務的安全隐患大緻會出現在兩個方面:第一是服務的持續可用;第二是資料的丢失和洩漏。

今年很多雲服務平台屢屢爆出服務當機或丢失資料的問題,這讓大家對國内雲服務更加的不放心,

其實雲計算并不應該存在這類嚴重問題,雲計算的主要使命之一恰恰是解決穩定和安全隐患問題。如SAE類PaaS雲計算平台是保障我們網站應用的正常服務,高度容錯且可擴充,而又拍雲存儲則屬IaaS類雲計算平台,存儲資料的穩定和安全保障是雲存儲最主要的工作。

先說持續可用性的保證問題。無單點是一個雲服務的基礎,而目前很多雲服務是單點的,是以緻使故障頻發。一個真正的雲計算平台至少應該保證有兩個互相熱備的資料中心,三分以上分布不同機櫃和機房的資料,在機房引入的線路上也應該保證至少電信、聯通有兩根以上的線路。隻有這樣才能保證不論是機房斷電、硬碟故障、還是斷線,都能保持持續的通路。另外就是對于伺服器叢集的部署上要實作負載的均衡,可采用伺服器HA互備,lvs進行4層負載,7層nginx進行一緻性hash及冷熱檔案排程,一旦有伺服器出現硬體故障,前端排程會自動識别并剝離出叢集,確定不影響使用者每一次的實際通路。

為充分發揮Nginx的7層代理的優勢,我們在此基礎上加入了較多的業務子產品,如:一緻性HASH子產品,根據業務需求通過請求資訊進行計算,把請求統一分發到後端緩存伺服器,避免使用普通負載均衡方式而導緻緩存命中率降低,可大大提高緩存叢集的業務處理能力;緩存排程子產品,基于LRU和MRU算法對全局的所有通路URL進行熱度分類,從用戶端發起的請求到達Nginx就能快速确定該請求是否屬于熱門緩存,而直接到SSD磁盤擷取資源;統計子產品,在Nginx内部對所有通路URL進行統計并彙總,定期向後端業務系統發送統計報告,使得我們可以對客戶提供實時的流量統計查詢服務,這也是服務計費的标準;

再說資料的安全和洩漏問題。安全性的解決主要是通過多樣的備份機制,像雲存儲主要依托在不同伺服器上實作動态的實時三備份,也就是說會自動搜尋使用者的資料是否存在3份,如沒有自動選取伺服器生成,這種機制可以完全的保證資料的安全。資料洩漏是使用第三方雲計算的最大憂慮,因為雲計算的API開放性,決定了雲計算服務在安全性上的隐患更加大。目前通用的解決辦法是采用128位AES加密碼保護,以及權限控制,但是其實目前還沒有絕對的辦法可以杜絕資料部署在雲上的洩漏問題。雲存儲目前主要是托管使用者的公開資料,及網站上本身提供給使用者通路的資料。

二、快速

從又拍雲看雲存儲服務的可用性

快速是網際網路平台發展的基石,優秀的速度才能創造有利于增長的使用者體驗。但是傳統的IDC部署方式下,受限于硬體規模和存儲架構的影響,通常速度很難發揮。這時候雲存儲就能發揮作用了,其叢集伺服器部署的方式,能最大的發揮資料運算的效率。開發者在評估雲存儲服務的速度時,應該看看他們有沒有全國分布的CDN加速網絡,如果沒有通常速度都無法保證,嚴格來說,雲服務是需要具備CDN節點的。

再就是看這個雲服務的CDN部署架構是否優良,這個對速度的影響非常大。雲存儲CDN架構采用各地方緩存節點、核心緩存層、中心資料機房,3層結構部署,前端智能DNS排程使用者到該使用者通路最快的節點,地方緩存節點會保持連接配接2個核心緩存機房做負載均衡及互相備用,避免單路網絡問題。核心緩存機房通過多條線路互備到資料機房讀取檔案。

三、易用

雲服務因為其彈性擴容的特點,大幅度降低了網際網路平台的運維規劃壓力。但同時他也有可能需要做一些額外的對接開發,是以易用就非常重要。好的雲服務會開放高度可用的API,讓使用者系統極容易與雲平台對接。如果雲平台的API不夠優秀,會讓開發者的對接成本以及後續維護成本都非常的高。最好的雲服務,應該有一些基于雲的處理功能,去幫助使用者節省一些工作時間和成本。比如又拍雲存儲,我們做了10種縮略圖自定義、檔案防盜鍊、以及與各種第三方平台系統的對接插件,以使得使用者易用性更高。

最後給大家一個建議,如何去選擇雲服務。我們知道亞馬遜的雲服務劃分為EC2和S3兩塊,EC2專用于網站的計算,而S3專用于靜态檔案的存儲。在國内目前還沒有公司具備亞馬遜這樣的雲服務能力,是以建議大家可以考慮把網站托管到雲主機,而靜态檔案托管到雲存儲。而對于資料庫這類有高要求的資料應用,還是建議大家使用托管的實體伺服器,畢竟目前雲主機的性能和穩定性方面仍有待觀察。

繼續閱讀