服務(wù)器集群結(jié)構(gòu)中,又分為“不對稱集群”和“對稱集群”兩大類。“不對稱集群”結(jié)構(gòu)中有一些服務(wù)器專門用于當(dāng)工作服務(wù)器出現(xiàn)故障時接替它們的工作。在“對稱集群”結(jié)構(gòu)中,每個服務(wù)器都承擔(dān)有工作,每臺服務(wù)器都相互平等,沒有專門用于備用的服務(wù)器。如果一個服務(wù)器出現(xiàn)故障,其余服務(wù)器則會繼續(xù)處理其自身所分配的應(yīng)用程序組,同時處理發(fā)生故障的服務(wù)器上的應(yīng)用程序,具體由哪臺或哪幾臺服務(wù)器接管,要看集群服務(wù)配置了。

圖一 不對稱服務(wù)器集群結(jié)構(gòu)

圖二 對稱服務(wù)器集群結(jié)構(gòu)

  集群技術(shù)和雙機熱備份技術(shù)的本質(zhì)區(qū)別體現(xiàn)在能否實現(xiàn)并行處理和節(jié)點失效后的任務(wù)平滑接管。雙機或多機備份技術(shù)的原理是一臺服務(wù)器作主機,其他服務(wù)器作備份機(也可以同時工作),當(dāng)主機失效時,備份機接管。集群系統(tǒng)使用的它的高可用性而不是容錯。
  服務(wù)器集群技術(shù)的優(yōu)勢:①擴展能力強;②實現(xiàn)方面容易;③高可用性;④易管理性
  對集群技術(shù)需求最迫切,發(fā)展也最快的領(lǐng)域主要有Web應(yīng)用、VOD應(yīng)用,科學(xué)計算、數(shù)據(jù)庫應(yīng)用等領(lǐng)域。集群服務(wù)不保證不停頓的操作,但它為大多數(shù)執(zhí)行關(guān)鍵任務(wù)的應(yīng)用程序提供了足夠的可靠性。

  一、服務(wù)器集群:故障遷移解決方案

  集群服務(wù)器設(shè)計的目的就是提高服務(wù)器性能,同時在出現(xiàn)故障時能及時進行故障遷移(將應(yīng)用程序或服務(wù)安裝在發(fā)生故障時彼此能接管對方工作的多臺服務(wù)器上,一臺服務(wù)器接管發(fā)生故障服務(wù)器工作的過程就稱為“故障轉(zhuǎn)移”),提高服務(wù)器的可用性。所以在集服務(wù)器設(shè)計之初,必須充分考慮故障遷移方案。
  故障遷移的原理
 ?、贆z測故障
  要讓備用服務(wù)器變成活動服務(wù)器,必須設(shè)法確定活動服務(wù)器是否不再正常工作。系統(tǒng)使用下列某個常規(guī)類型的心跳機制來做到這一點。◎發(fā)送信號?;顒臃?wù)器以定義好的時間間隔將指定信號發(fā)送到備用服務(wù)器。如果備用服務(wù)器在某個時間間隔內(nèi)未收到信號,則確定活動服務(wù)器發(fā)生故障并擔(dān)任活動角色。◎接收信號。備用服務(wù)器向活動服務(wù)器發(fā)送請求。如果活動服務(wù)器沒有響應(yīng),則備用服務(wù)器按特定次數(shù)重復(fù)發(fā)送此請求。如果活動服務(wù)器仍然沒有響應(yīng),則備份服務(wù)器接管活動服務(wù)器的工作。以上發(fā)送和接收信號是通過專用通信通道發(fā)送的,以使網(wǎng)絡(luò)擁塞和一般網(wǎng)絡(luò)問題不會導(dǎo)致假的故障轉(zhuǎn)移,這個專用通信通道通常被稱為“心跳線”。
 ?、谕綘顟B(tài)
  的集群服務(wù)器系統(tǒng)中,在正式接管活動服務(wù)器的工件前,首先要將備用服務(wù)器的狀態(tài)與發(fā)生故障的服務(wù)器的狀態(tài)進行同步,然后才能開始處理事務(wù)。主要有三種不同的同步方法?!蚴聞?wù)日志。在事務(wù)日志方法中,活動服務(wù)器將對其狀態(tài)的所有更改記錄到日志中。同步實用工具定期處理此日志,以更新備用服務(wù)器的狀態(tài),使其與活動服務(wù)器的一致。當(dāng)活動服務(wù)器發(fā)生故障時,備用服務(wù)器必須使用此同步實用工具處理自上次更新以來事務(wù)日志中的任何添加內(nèi)容?!驘醾溆?。在熱備用法中,將把活動服務(wù)器內(nèi)部狀態(tài)的更新立即復(fù)制到備用服務(wù)器。因為備用服務(wù)器的狀態(tài)是活動服務(wù)器狀態(tài)的克隆,所以備份服務(wù)器可以立即成為活動服務(wù)器,并開始處理事務(wù)。◎共享存儲。在共享存儲方法中,兩臺服務(wù)器都在共享存儲設(shè)備(如存儲區(qū)域網(wǎng)絡(luò)或磁盤陣列)上記錄其狀態(tài)。這樣,因為不需要進行狀態(tài)共,故障轉(zhuǎn)移可以立即發(fā)生。這種同步方式所需的切換時間也較短,可用性也較高。
 ?、鄞_定活動服務(wù)器
  對于指定的一組應(yīng)用程序,只存在一臺活動服務(wù)器,這是極其重要的。
    ④擴展故障遷移集群服務(wù)器

  故障遷移解決方案示例

  在下圖中,網(wǎng)絡(luò)中只有一臺服務(wù)器為網(wǎng)絡(luò)客戶端提供服務(wù),當(dāng)這臺服務(wù)器出現(xiàn)故障時,就無法向用戶提供服務(wù):

圖三 有故障單點的服務(wù)器

  為了提高上圖網(wǎng)絡(luò)中服務(wù)器的高可用性,可以采用服務(wù)器集群故障轉(zhuǎn)移技術(shù),如下圖:

圖四 具有故障轉(zhuǎn)移的服務(wù)器集群方案

  在上圖方案中,第一臺數(shù)據(jù)庫服務(wù)器是處理所有事務(wù)的活動服務(wù)器。僅當(dāng)?shù)谝慌_數(shù)據(jù)庫服務(wù)器發(fā)生故障時,處于空閑狀態(tài)的第二臺數(shù)據(jù)庫服務(wù)器才會處理事務(wù)。集群將一個虛擬IP地址和主機名在客戶端和應(yīng)用程序所使用的網(wǎng)絡(luò)上公開。

  二、服務(wù)器集群:負(fù)載均衡解決方案

  將服務(wù)或應(yīng)用程序安裝到多臺服務(wù)器上,并將這些服務(wù)器配置為共享工作負(fù)荷,這種類型的配置就是Load-Balanced Cluster(負(fù)載均衡集群)。負(fù)載均衡技術(shù)通過將客戶端請求分散到多始服務(wù)器上,從而提高了基于服務(wù)器的程序的性能。
  負(fù)載均衡器使用不同的算法控制通信流量,這些算法用于以智能方式分散負(fù)載,或最大限度地利用集群內(nèi)的所有服務(wù)器。其中一些典型的算法如下:◎循環(huán)法。循環(huán)算法將負(fù)載均衡地分配每臺服務(wù)器,而不考慮當(dāng)前的連接數(shù)或響應(yīng)時間。循環(huán)法適合于集群中的服務(wù)器具有相同處理能力的情況?!蚣訖?quán)循環(huán)法。加權(quán)循環(huán)算法適合于每臺服務(wù)器具有同處理能力的情況。管理員將性能權(quán)值手動分配給每臺服務(wù)器,而且按照服務(wù)器權(quán)值自動生成調(diào)度序列?!蜃钌龠B接。最少連接算法確定集群中哪臺服務(wù)器當(dāng)前正在處理連接數(shù)最,從而將請求發(fā)送給服務(wù)器?!蚧谪?fù)載?;谪?fù)載算法先判斷集群中哪臺服務(wù)器當(dāng)前的負(fù)載最低,然后將請求發(fā)送給該服務(wù)器。

  負(fù)載均衡解決方案示例

  負(fù)載均衡的兩種主要類別如下:◎基于軟件的負(fù)載均衡?;谲浖呢?fù)載均衡是在負(fù)載均衡集中安裝特殊的均衡管理軟件。均衡管理軟件根據(jù)不同的算法發(fā)送或接收客戶端向服務(wù)器發(fā)出的請求。◎基于硬件的負(fù)載均衡。

圖五 負(fù)載均衡集群方案

分享到

tangrong

相關(guān)推薦