|
“云”這個(gè)概念在今年非常的火熱,2年前國(guó)內(nèi)的云存儲(chǔ)服務(wù)還只有又拍云存儲(chǔ)一家,如今國(guó)內(nèi)已不下十家,面對(duì)如此多的云服務(wù)商,選擇云服務(wù)的標(biāo)準(zhǔn)成了大家比較關(guān)注的問(wèn)題。我們很榮幸在InfoQ與大家交流一些心得。 我們?cè)诹甑脑品?wù)經(jīng)驗(yàn)基礎(chǔ)上沉淀了三個(gè)詞:安全穩(wěn)定、快速、易用。 一、安全穩(wěn)定
云服務(wù)的安全隱患大致會(huì)出現(xiàn)在兩個(gè)方面:第一是服務(wù)的持續(xù)可用;第二是數(shù)據(jù)的丟失和泄漏。 今年很多云服務(wù)平臺(tái)屢屢爆出服務(wù)宕機(jī)或丟失數(shù)據(jù)的問(wèn)題,這讓大家對(duì)國(guó)內(nèi)云服務(wù)更加的不放心, 其實(shí)云計(jì)算并不應(yīng)該存在這類嚴(yán)重問(wèn)題,云計(jì)算的主要使命之一恰恰是解決穩(wěn)定和安全隱患問(wèn)題。如SAE類PaaS云計(jì)算平臺(tái)是保障我們網(wǎng)站應(yīng)用的正常服務(wù),高度容錯(cuò)且可擴(kuò)展,而又拍云存儲(chǔ)則屬IaaS類云計(jì)算平臺(tái),存儲(chǔ)數(shù)據(jù)的穩(wěn)定和安全保障是云存儲(chǔ)最主要的工作。 先說(shuō)持續(xù)可用性的保證問(wèn)題。無(wú)單點(diǎn)是一個(gè)云服務(wù)的基礎(chǔ),而目前很多云服務(wù)是單點(diǎn)的,所以致使故障頻發(fā)。一個(gè)真正的云計(jì)算平臺(tái)至少應(yīng)該保證有兩個(gè)互相熱備的數(shù)據(jù)中心,三分以上分布不同機(jī)柜和機(jī)房的數(shù)據(jù),在機(jī)房引入的線路上也應(yīng)該保證至少電信、聯(lián)通有兩根以上的線路。只有這樣才能保證不論是機(jī)房斷電、硬盤故障、還是斷線,都能保持持續(xù)的訪問(wèn)。另外就是對(duì)于服務(wù)器集群的部署上要實(shí)現(xiàn)負(fù)載的均衡,可采用服務(wù)器HA互備,lvs進(jìn)行4層負(fù)載,7層nginx進(jìn)行一致性hash及冷熱文件調(diào)度,一旦有服務(wù)器出現(xiàn)硬件故障,前端調(diào)度會(huì)自動(dòng)識(shí)別并剝離出集群,確保不影響用戶每一次的實(shí)際訪問(wèn)。 為充分發(fā)揮Nginx的7層代理的優(yōu)勢(shì),我們?cè)诖嘶A(chǔ)上加入了較多的業(yè)務(wù)模塊,如:一致性HASH模塊,根據(jù)業(yè)務(wù)需求通過(guò)請(qǐng)求信息進(jìn)行計(jì)算,把請(qǐng)求統(tǒng)一分發(fā)到后端緩存服務(wù)器,避免使用普通負(fù)載均衡方式而導(dǎo)致緩存命中率降低,可大大提高緩存集群的業(yè)務(wù)處理能力;緩存調(diào)度模塊,基于LRU和MRU算法對(duì)全局的所有訪問(wèn)URL進(jìn)行熱度分類,從客戶端發(fā)起的請(qǐng)求到達(dá)Nginx就能快速確定該請(qǐng)求是否屬于熱門緩存,而直接到SSD磁盤獲取資源;統(tǒng)計(jì)模塊,在Nginx內(nèi)部對(duì)所有訪問(wèn)URL進(jìn)行統(tǒng)計(jì)并匯總,定期向后端業(yè)務(wù)系統(tǒng)發(fā)送統(tǒng)計(jì)報(bào)告,使得我們可以對(duì)客戶提供實(shí)時(shí)的流量統(tǒng)計(jì)查詢服務(wù),這也是服務(wù)計(jì)費(fèi)的標(biāo)準(zhǔn); 再說(shuō)數(shù)據(jù)的安全和泄漏問(wèn)題。安全性的解決主要是通過(guò)多樣的備份機(jī)制,像云存儲(chǔ)主要依托在不同服務(wù)器上實(shí)現(xiàn)動(dòng)態(tài)的實(shí)時(shí)三備份,也就是說(shuō)會(huì)自動(dòng)搜尋用戶的數(shù)據(jù)是否存在3份,如沒(méi)有自動(dòng)選取服務(wù)器生成,這種機(jī)制可以完全的保證數(shù)據(jù)的安全。數(shù)據(jù)泄漏是使用第三方云計(jì)算的最大憂慮,因?yàn)樵朴?jì)算的API開(kāi)放性,決定了云計(jì)算服務(wù)在安全性上的隱患更加大。目前通用的解決辦法是采用128位AES加密碼保護(hù),以及權(quán)限控制,但是其實(shí)目前還沒(méi)有絕對(duì)的辦法可以杜絕數(shù)據(jù)部署在云上的泄漏問(wèn)題。云存儲(chǔ)目前主要是托管用戶的公開(kāi)數(shù)據(jù),及網(wǎng)站上本身提供給用戶訪問(wèn)的數(shù)據(jù)。 二、快速
快速是互聯(lián)網(wǎng)平臺(tái)發(fā)展的基石,優(yōu)秀的速度才能創(chuàng)造有利于增長(zhǎng)的用戶體驗(yàn)。但是傳統(tǒng)的IDC部署方式下,受限于硬件規(guī)模和存儲(chǔ)架構(gòu)的影響,通常速度很難發(fā)揮。這時(shí)候云存儲(chǔ)就能發(fā)揮作用了,其集群服務(wù)器部署的方式,能最大的發(fā)揮數(shù)據(jù)運(yùn)算的效率。開(kāi)發(fā)者在評(píng)估云存儲(chǔ)服務(wù)的速度時(shí),應(yīng)該看看他們有沒(méi)有全國(guó)分布的CDN加速網(wǎng)絡(luò),如果沒(méi)有通常速度都無(wú)法保證,嚴(yán)格來(lái)說(shuō),云服務(wù)是需要具備CDN節(jié)點(diǎn)的。 再就是看這個(gè)云服務(wù)的CDN部署架構(gòu)是否優(yōu)良,這個(gè)對(duì)速度的影響非常大。云存儲(chǔ)CDN架構(gòu)采用各地方緩存節(jié)點(diǎn)、核心緩存層、中心數(shù)據(jù)機(jī)房,3層結(jié)構(gòu)部署,前端智能DNS調(diào)度用戶到該用戶訪問(wèn)最快的節(jié)點(diǎn),地方緩存節(jié)點(diǎn)會(huì)保持連接2個(gè)核心緩存機(jī)房做負(fù)載均衡及相互備用,避免單路網(wǎng)絡(luò)問(wèn)題。核心緩存機(jī)房通過(guò)多條線路互備到數(shù)據(jù)機(jī)房讀取文件。 三、易用云服務(wù)因?yàn)槠鋸椥詳U(kuò)容的特點(diǎn),大幅度降低了互聯(lián)網(wǎng)平臺(tái)的運(yùn)維規(guī)劃壓力。但同時(shí)他也有可能需要做一些額外的對(duì)接開(kāi)發(fā),因此易用就非常重要。好的云服務(wù)會(huì)開(kāi)放高度可用的API,讓用戶系統(tǒng)極容易與云平臺(tái)對(duì)接。如果云平臺(tái)的API不夠優(yōu)秀,會(huì)讓開(kāi)發(fā)者的對(duì)接成本以及后續(xù)維護(hù)成本都非常的高。最好的云服務(wù),應(yīng)該有一些基于云的處理功能,去幫助用戶節(jié)省一些工作時(shí)間和成本。比如又拍云存儲(chǔ),我們做了10種縮略圖自定義、文件防盜鏈、以及與各種第三方平臺(tái)系統(tǒng)的對(duì)接插件,以使得用戶易用性更高。 最后給大家一個(gè)建議,如何去選擇云服務(wù)。我們知道亞馬遜的云服務(wù)劃分為EC2和S3兩塊,EC2專用于網(wǎng)站的計(jì)算,而S3專用于靜態(tài)文件的存儲(chǔ)。在國(guó)內(nèi)目前還沒(méi)有公司具備亞馬遜這樣的云服務(wù)能力,因此建議大家可以考慮把網(wǎng)站托管到云主機(jī),而靜態(tài)文件托管到云存儲(chǔ)。而對(duì)于數(shù)據(jù)庫(kù)這類有高要求的數(shù)據(jù)應(yīng)用,還是建議大家使用托管的物理服務(wù)器,畢竟目前云主機(jī)的性能和穩(wěn)定性方面仍有待觀察。 |
|
|
來(lái)自: 命運(yùn)之輪 > 《網(wǎng)站架構(gòu)》