對你的業(yè)務(wù)來(lái)說(shuō),數據中心出現故障是災難性的打擊。通常設計為三個(gè)或更多個(gè)數據中心,因為這樣成本比只有兩個(gè)數據中心低。在高峰期利用閑置的容量,而不是降低處理事務(wù)的速度。
要點(diǎn):在實(shí)施災難恢復時(shí),利用三個(gè)或更多個(gè)實(shí)時(shí)數據中心的設計,可以降低災難恢復的成本。在必要時(shí),可以利用閑置容量滿(mǎn)足高峰期的需求。

對于超高速發(fā)展的公司來(lái)說(shuō),數據中心的擴展已經(jīng)成了最大的痛點(diǎn)之一。這是因為,計劃和建造數據中心的時(shí)間較長(cháng),而且它也是在高速發(fā)展階段我們最不愿意考慮的事情之一。但有時(shí),最不愿意考慮的事情是對公司危害最大的事情。這個(gè)原則簡(jiǎn)單地介紹了“如何”以及“為什么要擠分數據中心以應對高速的發(fā)展。
首先,讓我們看一些基礎。為了實(shí)現故障隔離(有助于帶來(lái)高可用性)和事務(wù)的增長(cháng),我們想分別用原則8和原則9介紹的Y軸和Z軸擴展方法對數據進(jìn)行分片。為了實(shí)現高可用性和事務(wù)的增長(cháng),我們想用原則7介紹的X軸擴展方法復制(或克隆)數據和服務(wù)。最后,我們假設0,你可能有一個(gè)無(wú)狀態(tài)系統或者能夠根據自己的有狀態(tài)需求進(jìn)行設計,從而利用多個(gè)數據中心。正是數據和服務(wù)以及無(wú)狀態(tài)系統的分片、復制、克隆形成了分區,從而使得我們能夠把數據中心分布到多個(gè)不同地點(diǎn)的站點(diǎn)中去。
如果我們沿z軸切分數據(參閱原則9),那么可以把數據放在離請求該數據的用戶(hù)較近的數據中心。如果要在切分數據時(shí)維持多租戶(hù)性,可以選擇離終端用戶(hù)近的數據中心。如果“原子”或“粒度”元素是一個(gè)公司,那么可以把數據中心放在所服務(wù)的公司附近(如果是家大型公司,至少要選擇距離該公司最大的辦公區較近的位置)。
首先,讓我們從三個(gè)數據中心入手,這時(shí)每個(gè)數據中心存放約33%的數據。我們將這三個(gè)數據集稱(chēng)之為為A數據集、B數據集和C數據集。每個(gè)數據中心的數據集都進(jìn)行了備份并平分為兩部分,而這兩部分的副本則分別存在其他兩個(gè)數據中心。假設采用Z軸拆分和X軸復制的方法復制數據,那么A數據中心的客戶(hù)的50%的數據將存放在B數據中心,其另外50%的數據存放在C數據中心。任何一個(gè)數據中心出現故障,那么該數據中心50%的數據和相關(guān)事務(wù)都會(huì )被轉移到其他兩個(gè)數據中心。如果A數據中心出現故障,那么它509%的數據和相關(guān)事務(wù)會(huì )被轉移到B數據中心,另外50%將被轉移到C數據中心。如圖3-2所示。結果是所有站點(diǎn)總計存儲了20096的數據,但是每個(gè)站點(diǎn)只保存數據總量的66%,因為每個(gè)站點(diǎn)存放了100%的主數據集副本(占該站點(diǎn)數據總量的3%)和其他兩個(gè)站點(diǎn)的50%的數據副本(總量占該站點(diǎn)數據量的33%,每個(gè)數據副本占數據量的165%)。
要了解這種配置為什么比兩個(gè)數據中心好,需要進(jìn)行一些計算。假設你至少需要兩個(gè)數據中心,使業(yè)務(wù)能夠在地理位置上孤立的災難事件中存活。如果我們有兩個(gè)數據中心,分別標記為A和B,那么你可能會(huì )用A數據中心進(jìn)行1009%的操作,讓B數據中心作為熱備份。采用熱冷(或積極被動(dòng))配置,那么兩個(gè)數據中心都要具備10096的計算及網(wǎng)絡(luò )資源,這包括10096的Web和應用服務(wù)器、10096的數據庫服務(wù)器和10096的網(wǎng)絡(luò )設備。兩個(gè)數據中心的電力需求相似,網(wǎng)絡(luò )連接相似。為了應對高峰期激增的需求,每個(gè)數據中心可能需要稍大于100%的容量才行。假設每個(gè)數據中心需要110%的容量。無(wú)論何時(shí)為一個(gè)數據中心增加服務(wù)器,都要為另一個(gè)數據中心購買(mǎi)等量的服務(wù)器。也許為了安全復制數據,你可能會(huì )采用專(zhuān)用線(xiàn)路連接兩個(gè)數據中心。同時(shí)運行兩個(gè)實(shí)時(shí)數據中心,那么在發(fā)生災難時(shí),在把所有處理轉移到備用數據中心之前,只有50%6的事務(wù)會(huì )失敗,但這種方法在預算和財務(wù)方面卻沒(méi)有什么優(yōu)勢。
但是,采用三個(gè)實(shí)時(shí)數據中心,成本就會(huì )下降。這是因為,在每個(gè)站點(diǎn)中,對于所有的非數據庫系統,每個(gè)地方只需要150%的容量即可處理故障站點(diǎn)100%的交易。對于數據庫,雖然仍然需要200%6的存儲,但對于任何方法該成本都是必須的。電力和設備消耗也大約為單個(gè)站點(diǎn)的150%,不過(guò)我們需要的人員顯然要多一些,可能操作三個(gè)數據中心需要的人員要比操作一個(gè)數據中心的人員多1.5倍。唯一增加的是網(wǎng)絡(luò )設備,因為三個(gè)數據中心比兩個(gè)數據中心需要的網(wǎng)絡(luò )連接多兩條。
采用這種配置的一大好處是,能夠利用閑置容量創(chuàng )建測試(如負載測試和性能測試)區域,還能利用這些閑置資源應對激增的需求。這種激增的需求隨時(shí)可能出現。我們可能要處理一些計劃外的壓力,也可能關(guān)系很好的個(gè)人或公司客戶(hù)得到了難以置信的病毒式的發(fā)展。那么可以先用為災難恢復準備的容量處理交易,與此同時(shí)再采購新的設備。
我們提到過(guò),運轉三個(gè)或更多個(gè)數據中心也有缺點(diǎn)。雖然我們確信三個(gè)站點(diǎn)都在實(shí)時(shí)工作,但是運轉這三個(gè)站點(diǎn)還需要額外的一些復雜工作。不過(guò)即使運轉兩個(gè)采用冷熱配置的數據中心,所需的復雜工作也不比前者需要的少。同步兩個(gè)站點(diǎn)是很難的,尤其是運維人員幾乎無(wú)法證明兩個(gè)站點(diǎn)中的某一個(gè)是否真能在必要時(shí)運行。不間斷地運轉三個(gè)數據中心雖然會(huì )更難一些,但也不是非常難。
雖然其他成本降低了,但是網(wǎng)絡(luò )傳輸成本的增長(cháng)也非???。在站點(diǎn)的全面連通圖中,每個(gè)新站點(diǎn)N+1都需要N條額外的網(wǎng)絡(luò )連接,其中N是之前站點(diǎn)的數目。網(wǎng)絡(luò )連接成本控制得好的公司,通常都會(huì )跟網(wǎng)絡(luò )傳輸供應商談一個(gè)批量折扣,并且還可以脫離雙方的角色來(lái)充當第三方網(wǎng)絡(luò )傳輸供應商,從而減少成本。
最后,我們預見(jiàn)到了多個(gè)實(shí)時(shí)網(wǎng)站制作站點(diǎn)的模型會(huì )造成人員及其附加的成本增加。如果數據中心很大,我們會(huì )把員工分配到數據中心附近,而不是遠程工作。即使沒(méi)有現場(chǎng)工作人員,也需要不時(shí)地到現場(chǎng)去,與第二供應商一起工作,等等。附注欄“多個(gè)實(shí)時(shí)站點(diǎn)注意事項總結了實(shí)施多個(gè)實(shí)時(shí)站點(diǎn)的好處、缺點(diǎn)以及架構方面需要考慮的要素。
本文地址:http://havencoinwallet.com//article/3461.html