一、多層架構(gòu)下多層次集群系統(tǒng)
集群技術(shù)是一種計算機系統(tǒng)之間連接的方式。最早的集群系統(tǒng)出于并行處理的目的,將分散的計算系統(tǒng)連接起來完成原來單獨節(jié)點的計算系統(tǒng)無法完成的任務。但是隨著計算機性能的發(fā)展和網(wǎng)絡不安全因素的出現(xiàn),集群技術(shù)成為系統(tǒng)高可用性的重要技術(shù)手段之一。
隨著互聯(lián)網(wǎng)的興起,多層架構(gòu)應用系統(tǒng)部署越來越廣泛,并逐步滲入銀行等對可用性要求非常高的計算領(lǐng)域。多層架構(gòu)應用系統(tǒng)通常包括表示層、應用層、數(shù)據(jù)層,并部署在多臺計算機上。圖1是一個簡單的多層應用架構(gòu)下的多層次集群系統(tǒng)示意圖。圖1中包括Web負載均衡器集群、應用服務器集群、表示層服務器集群、數(shù)據(jù)庫服務器集群。
二、可用性計算公式
可用性是系統(tǒng)在規(guī)定的條件下執(zhí)行規(guī)定功能的概率,也可以理解為一個系統(tǒng)可以為用戶所使用時間的百分比。
可用性是可靠性和可維護性的函數(shù)。所謂可靠性是指測量在沒有故障的情況一個系統(tǒng)能工作多長時間,通常表示為發(fā)生故障的平均時間MTTF(Mean Time to Failure),即在系統(tǒng)(或系統(tǒng)的一個部件)發(fā)生故障前正常運行的平均時間。所謂可維護性是指系統(tǒng)是否易于維護,包括硬件和軟件維護、維修和升級等,通常表示為系統(tǒng)從故障狀態(tài)到修復的平均時間MTTR(Mean Time to Repair),即用于修復系統(tǒng)和在修復后將它恢復到工作狀態(tài)所用的平均時間。對單個系統(tǒng)/部件/元件可用性(用A表示)的計算公式如下:
串聯(lián)系統(tǒng)是指系統(tǒng)中當任何一個元件失效時,均會構(gòu)成系統(tǒng)失效的一種系統(tǒng)。也就是說,必須組成系統(tǒng)的全部元件/部件/設(shè)備正常工作時,整個系統(tǒng)才算正常工作。串聯(lián)系統(tǒng)的可用性為:
其中n為串聯(lián)系統(tǒng)所有元件/部件/設(shè)備的數(shù)量。
并聯(lián)系統(tǒng)中只有當所有元件失效時系統(tǒng)才會失效。只要系統(tǒng)中有1個元件/部件/設(shè)備正常工作,就認為系統(tǒng)是正常工作。根據(jù)概率論理論,并聯(lián)系統(tǒng)的可用性為:
其中n為并聯(lián)系統(tǒng)中并聯(lián)的元件/部件/設(shè)備的數(shù)量。
三、多層架構(gòu)下多層次集群系統(tǒng)可用性計算
多層架構(gòu)下多層次集群系統(tǒng)可用性計算首先需要對多層架構(gòu)下多層次集群系統(tǒng)進行抽象,形成可用性指標計算模型。通常按照如下原則對多層次集群系統(tǒng)進行抽象:
l同一個集群內(nèi)具有相同功能的計算機設(shè)備或者網(wǎng)絡設(shè)備抽象為并聯(lián)系統(tǒng)
按照功能,將連接集群的設(shè)備及集群之間抽象為串聯(lián)系統(tǒng)
圖2是將圖1按照抽象原則抽象后的結(jié)果。其中表示層服務器集群、應用服務器及數(shù)據(jù)塊服務器抽象成為并聯(lián)系統(tǒng)。
根據(jù)公式(2)和公式(3),圖2的可用性計算公式如下:
從公式(4)可以看出,集群有利于提高多層級架構(gòu)系統(tǒng)的可用性。但由于用于連接集群的網(wǎng)絡設(shè)備、存儲設(shè)備較多,因此提高集群中設(shè)備的數(shù)量對提高系統(tǒng)整體的可用性有限,增加網(wǎng)絡設(shè)備、存儲設(shè)備的可用性對系統(tǒng)整體可用性的提高幫助更大。
四、小結(jié)
本文可用性計算前提是“只要集群中有1個設(shè)備正常工作,就認為集群系統(tǒng)是正常工作”。如果考慮集群的負載,這個前提并不成立,那么系統(tǒng)可用性需要更加復雜的計算。工程實踐中,由于在負載規(guī)劃中,不會讓集群中每臺設(shè)備都滿負荷工作,通常當集群中的設(shè)備不超過3個時,即可以利用本文的計算方法對系統(tǒng)的可用性進行估算。