電路中的組件可以以各種方式連接,最簡單的兩種連接方法就是串聯(lián)和并聯(lián)。串聯(lián)電路中的組件,如電阻器和電容器,是按照一條路徑連接的。在這種電路中,電流會流經(jīng)每個組件,電阻和電壓是累加的。一個電路有3個電阻器,另一個電路有3個電池圖中還標示出所產(chǎn)生的電阻和電壓。如果任何一個組件出了故障,如一個電阻熔斷,那么整個電路都會出故障。
展示的是兩個并聯(lián)電路,上面的那個電路有3個電阻(和個電壓電源或電容器),下面的電路有3個電池??傠娮枋敲總€電阻的倒數(shù)之和的倒數(shù)。根據(jù)定義,總電阻一定小于最小的電阻。此外還要注意,電壓并未改變,且電池只供應一部分電流,從而延長了它們的使用壽命。注意,在這種電路中,一個組件出了故障并不會引發(fā)整個電路的故障。
系統(tǒng)架構和電路有許多相似之處。服務器和網(wǎng)絡設備就是組件。系統(tǒng)中有的組件是Web服務器,有些是應用服務器,有些是負率載均衡器,還有可能會是數(shù)據(jù)庫服務器。這些組件都可以并聯(lián)連接,也可以串聯(lián)連接。一個簡單的例子就是具有很大流量的靜態(tài)站點。你可以用10個Web服務器放置同一個靜態(tài)站點來提供流量。也可以使用一個負載均衡器來定向流量,或分配10個獨立的P地址,通過DNS與你的域關聯(lián)在一起。這些Web服務器是以并聯(lián)方式連接的,就像圖9-3中的電池。一臺Web服務器需要處理的流量只是總量的一小部分,如果一臺服務器出現(xiàn)了故障,整個站點仍是可用的,因為還有其他9臺Web服務器。
作為一個更典型的串聯(lián)架構的例子,讓我們來添加一些層。一個標準的三層站點,有一臺Web服務器、一臺應用服務器和一臺數(shù)據(jù)庫服務器,我們用一個架構把它們串聯(lián)起來。為了完成一個請求,Web服務器必須先接受它,然后把它傳遞給應用服務器,應用服務器再査詢數(shù)據(jù)庫。然后應用服務器接收返回的數(shù)據(jù)據(jù),對數(shù)據(jù)進行操作,再將結果發(fā)回Web服務器,最終由Web服務器滿足客戶的請求。如果該電路或架構中的任何組件壞了,整個系統(tǒng)都會中斷工作。
這把我們帶回了現(xiàn)實世界中的架構。幾乎總會有要求把系統(tǒng)組件串聯(lián)連接在一起。在你考慮到負載均衡器、Web和應用層、數(shù)據(jù)庫、存儲系統(tǒng)等時,要保持系統(tǒng)運行就需要許多組件。當然,以并聯(lián)方式添加組件,即使各個層是以串聯(lián)方式連接的,也有助于減少由一個組件出故障而導致整個系統(tǒng)出故障的風險。把流量分配到多臺web服務器上,這樣如果只有一臺Web服務器出故障了,也不會導致整個系統(tǒng)出故障。在Web和應用層,許多人承認這一理念。而在數(shù)據(jù)庫和網(wǎng)絡層,許多人則會忽視這個問題。如果Web和應用服務器都是以并聯(lián)方式連接的,但它們卻都要串聯(lián)到一個數(shù)據(jù)庫上,那么這一個組件就會造成災難性的故障。
至于網(wǎng)絡組件,我們常常能看到一些架構很注意以并聯(lián)方式連接服務器,但完全忽略了網(wǎng)絡設備,尤其是防火墻。防火墻在網(wǎng)絡中是很常見的,關于防火墻的討論。在這種情況下,流量要先經(jīng)過防火墻,然后再經(jīng)過負載均衡器、防火墻、交換機,隨后到達Web服務器、應用服務器、數(shù)據(jù)庫服務器,最后再原路返回。至少要經(jīng)歷7種組件各兩次。如果經(jīng)過了6個組件,再加一個組件,又有什么大不了呢?
串聯(lián)的組件會使故障風險成倍增加。一個簡單的例子是,如果我們有兩臺串聯(lián)的服務器,每臺有9.9%的可用性或正常運行時間,那么系統(tǒng)的總可用性就會小于99.9%×99.9%=99.8%6。如果我們以串聯(lián)方式加入第三個組件,同樣,我們得到的可用性會更低,即99.9%×99.9%×99.9%0=99.7%0。以串聯(lián)方式加入系統(tǒng)的組件越多,系統(tǒng)的可用性越低。表94列出了一些簡單的計算,可以看出,隨著可用性降低,每月停機的時間會增加。以串聯(lián)方式每向系統(tǒng)加入一個組件(可用性為99.9%),每月的停機時間就會增加約43分鐘。
像當今大多數(shù)電路一樣,你的網(wǎng)站建設系統(tǒng)也比簡單的串聯(lián)或并列許接多了,因此,要精確預計可用性,比我們這個簡單的例子要復雜多了。你能了解到串聯(lián)的組件會大大提高系統(tǒng)停機的風險。當然,減少串聯(lián)的組件,或者并聯(lián)地添加這些組件的多個版本,就可以減少這種風險。
本文地址:http://www.islandpacificappraisals.com//article/3514.html