資源描述:
《WindowsServer網(wǎng)絡(luò)負(fù)載均衡技術(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、WindowsServer網(wǎng)絡(luò)負(fù)載均衡技術(shù) WindowsServer集群(cluster)技術(shù)是以三層式應(yīng)用程序的架構(gòu)來設(shè)計(jì)的,每一層都有相對(duì)應(yīng)的解決方案。例如,本文介紹的網(wǎng)絡(luò)負(fù)載均衡(NetworkLoadBalance,NLB)便是屬于前端的集群技術(shù),另外尚有屬于中介層的COM+組件負(fù)載均衡(ComponentLoadBalance,CLB),以及后端服務(wù)的服務(wù)器集群(MicrosoftClusterServer,MSCS)。 在介紹NLB之前,先來了解一些與集群有關(guān)的基本概念:什么是叢集,以及使用叢集的好處?! 〖旱幕靖拍睢 『?jiǎn)單來說,集群是指一組服務(wù)
2、器,透過彼此的協(xié)同作業(yè),提供一個(gè)相同的服務(wù)或應(yīng)用程序,用于提升服務(wù)或應(yīng)用程序的可用性(availability,注1)、可靠性(reliability,注2),以及延展性(scalability,注3)。當(dāng)集群內(nèi)的服務(wù)器掛了,請(qǐng)求會(huì)轉(zhuǎn)移給其它的服務(wù)器,提供全年無休、一天24小時(shí)不中斷的服務(wù)?! indowsServer支持了三種集群技術(shù),分別是NLB、CLB與MSCS等,NLB和MSCS已內(nèi)建于WindowsServer中,CLB則需要購(gòu)買ApplicationCenter。 這些集群技術(shù)簡(jiǎn)單說明如下: 1.NLB,提供以TCP/IP為基礎(chǔ)的服務(wù)與應(yīng)用程序的網(wǎng)絡(luò)
3、流量負(fù)載均衡,用于提升系統(tǒng)的可用性和延展性。常見的應(yīng)用有terminalservice、webservice與webapplication等?! LB是透過一個(gè)虛擬IP對(duì)外提供服務(wù)。當(dāng)收到請(qǐng)求時(shí),NLB會(huì)隨機(jī)決定由誰來處理請(qǐng)求。 2.CLB,提供使用COM+組件的中介層應(yīng)用程序的動(dòng)態(tài)負(fù)載均衡,用于提升系統(tǒng)的可用性和延展性。CLB會(huì)依據(jù)目前的工作負(fù)載來決定由誰來處理服務(wù)請(qǐng)求。 3.MSCS,提供后端服務(wù)與應(yīng)用程序的容錯(cuò)移轉(zhuǎn)(failover),可提升系統(tǒng)的可用性。常見的應(yīng)用有SQLServer與ExchangeServer等。 MSCS是由client來決定由誰
4、來處理服務(wù)請(qǐng)求,所有服務(wù)器共享一個(gè)sharestorage來儲(chǔ)存session狀態(tài)。當(dāng)主動(dòng)服務(wù)器掛了,則繼續(xù)由被動(dòng)服務(wù)器接手。被動(dòng)服務(wù)器會(huì)從sharestorage取出session狀態(tài),繼續(xù)未完成的工作,以達(dá)到容錯(cuò)移轉(zhuǎn)的目的。NLB的運(yùn)作原理 對(duì)WindowsServer集群有了基本的認(rèn)識(shí)之后,接下來進(jìn)一步了解NLB是如何將Client的服務(wù)請(qǐng)求分配給叢集內(nèi)的服務(wù)器,以分散服務(wù)請(qǐng)求的流量,使得負(fù)載不會(huì)集中在某一部服務(wù)器上。NLB是使用篩選模式相似性算法來分配服務(wù)請(qǐng)求。它又分成無相似性、單一相似性,以及classC等三種,簡(jiǎn)單說明如下: 1.無相似性 Clien
5、t的服務(wù)請(qǐng)求會(huì)平均分配到叢集內(nèi)的每一部服務(wù)器。假設(shè)NLB叢集內(nèi)有2部服務(wù)器。當(dāng)接到Client的請(qǐng)求時(shí),NLB會(huì)將第1個(gè)請(qǐng)求交由第1部服務(wù)器來處理,第2個(gè)請(qǐng)求交由第2部服務(wù)器來處理,第3個(gè)請(qǐng)求交由第1部服務(wù)器來處理,…依此類推。因?yàn)樗蠧lient聯(lián)機(jī)會(huì)平均分配到每一部服務(wù)器,因此可以達(dá)到最佳的負(fù)載平衡。如果需要執(zhí)行交易楚理,為了能夠共享session狀態(tài),則必須將session狀態(tài)集中儲(chǔ)存在state或databaseserver中。這種方式適用于大部分的應(yīng)用程序。 2.單一相似性 Client的服務(wù)請(qǐng)求會(huì)固定分配到叢集內(nèi)的某一部服務(wù)器。當(dāng)接到Client的請(qǐng)求
6、時(shí),NLB會(huì)根據(jù)Client的IP來決定交由哪一部服務(wù)器來處理,也就是一部服務(wù)器只會(huì)處理來自某些IP的請(qǐng)求。因?yàn)橐粋€(gè)IP的服務(wù)請(qǐng)求只會(huì)固定由一個(gè)服務(wù)器來處理,因此沒有session狀態(tài)共享的問題,但可能會(huì)導(dǎo)致負(fù)載不平衡。這種方式適用于聯(lián)機(jī)需支持SSL集多重聯(lián)機(jī)的通訊協(xié)議(例如FTP與PPTP等)?! ?.ClassC與單一相似性類似,不同的是ClassC是根據(jù)IP的ClassC屏蔽來決定交由哪一部服務(wù)器來楚理,也就是一部服務(wù)器只會(huì)處理來自某些網(wǎng)段C的請(qǐng)求。這種方式可確保使用多重Proxy的客戶端能導(dǎo)向到相同的服務(wù)器。 結(jié)論 在動(dòng)手建立NLB之前,需要特別注意一些限
7、制條件,例如服務(wù)器的PrivateIP必須是固定,而且在相同的網(wǎng)段。若只有一張網(wǎng)卡,則集群內(nèi)服務(wù)器之間無法互通,因此建議要有兩張網(wǎng)卡,一張網(wǎng)卡用于建立NLB,另一個(gè)網(wǎng)卡,則用于服務(wù)器之間的heartbeat,偵測(cè)集群內(nèi)服務(wù)器是否正常運(yùn)作。若是使用兩張網(wǎng)卡,則只能在其中一張網(wǎng)卡上設(shè)定defaultgateway,否則封包將無法轉(zhuǎn)送至正確的IP地址上?! LB的基本概念簡(jiǎn)單地介紹到這理,實(shí)作部份可利用WindowsServer的網(wǎng)絡(luò)負(fù)載平衡管理員或區(qū)域聯(lián)機(jī)設(shè)定,詳細(xì)步驟請(qǐng)參閱"說明與支持"?! ∽?:可用性(availability)是指應(yīng)用程序、服務(wù)