国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

IIS負(fù)載均衡-Application Request Route,ARR介紹

2017-03-15 20:00:57 11775

說(shuō)到負(fù)載均衡,相信大家已經(jīng)不再陌生了,本系列主要介紹在IIS中可以采用的負(fù)載均衡的軟件:微軟的Application Request Route模塊。

其實(shí)Application Request Route已經(jīng)有很多文章介紹過(guò)了,但是有很多的文檔都是英文的,筆者在項(xiàng)目中,曾經(jīng)為了使用和測(cè)試Application Request Route,將有關(guān)的文檔已經(jīng)轉(zhuǎn)為中文,在組員之間傳閱,本系列在這些文檔的中,再加入一些使用的心得。

本篇主要內(nèi)容如下:

Application Request Route介紹

Application Request Route安裝

一、Application Request Route介紹:

Application Request Route(后面簡(jiǎn)稱為ARR)是一個(gè)寄宿于IIS7(及以后的IIS版本)的一個(gè)基于代理的模塊,它可以通過(guò)判斷Http Headers,Server Variables以及負(fù)載均衡算法將HTTP的請(qǐng)?轉(zhuǎn)發(fā)到不同的處理服務(wù)器之上。ARR的用處如下:

1. 增強(qiáng)應(yīng)用的可用性與擴(kuò)展性

2. 更好的利用服務(wù)器資源

3. 使得應(yīng)用程序的部署更加方便,并且支持衛(wèi)星部署管理與熱替換

4. 更低的管理成本,使得共享宿主的部署成為可能

ARR是基于URL Rewrite Module的,它通過(guò)檢測(cè)客戶端發(fā)來(lái)的HTTP請(qǐng)求來(lái)做出請(qǐng)求路由的決定。下面,我們就進(jìn)一步的看看ARR的一些特征:

1.基于HTTP請(qǐng)求,做出的請(qǐng)求路由的決定

與硬件的負(fù)載均衡不同(在OSI模型的IP層來(lái)決定請(qǐng)求的路由方式),ARR是基于應(yīng)用層來(lái)進(jìn)行負(fù)載均衡的,因?yàn)樵趹?yīng)用層可用的信息更多(其實(shí)談到這里,是很有必要把負(fù)載均衡的原理講清楚的,但是,因?yàn)楸鞠盗兄饕侵v述ARR,所以,對(duì)已一些底層原理性的概念,不會(huì)做過(guò)多的涉及,以后計(jì)劃為朋友們系統(tǒng)的講述負(fù)載均衡的原理及其實(shí)現(xiàn),可以參看:負(fù)載均衡第一篇-介紹篇)。通過(guò)在ARR中使用URL Rewrite Module,我們就可以實(shí)基于Http Headers與Server Variables來(lái)實(shí)現(xiàn)個(gè)更強(qiáng)大的路由規(guī)則。

2.提供多種負(fù)載均衡算法

我們可以自己決定使用哪一種負(fù)載均衡算法來(lái)進(jìn)行請(qǐng)求的路由,ARR提供了以下6種算法。

3.健康檢查

我們可以使用“實(shí)時(shí)通信“和”特定Url測(cè)試“來(lái)檢查服務(wù)器的健康狀況。并且,我們還可以通過(guò)使用很多的參數(shù)來(lái)決定到底什么樣的狀況才是健康的正常的服務(wù)器,例如,有人認(rèn)為只要服務(wù)器是開(kāi)啟的,就是健康的;也有人認(rèn)為,服務(wù)器開(kāi)啟,并且處理的請(qǐng)求沒(méi)有超載是健康的,等等。另外,我們還可以通過(guò)使用自己的提供Health Monitoring Provider來(lái)實(shí)現(xiàn)自己的健康檢查可能。

4.客戶端親緣性

關(guān)于親緣性,相信大家不再陌生,我這里稍微的提一下:就是更加傾向于,或者喜歡那個(gè)。例如,在SQL Server中可以設(shè)置CPU的親緣性,,假設(shè)現(xiàn)在有四個(gè)CPU,編號(hào)分別是A,B,C,D,現(xiàn)在我們SQL Server的CPU親緣性設(shè)置到A上,就是說(shuō): SQL Server在處理請(qǐng)求的時(shí)候,更加喜歡把請(qǐng)求發(fā)送給編號(hào)為A的CPU來(lái)處理,當(dāng)然也會(huì)將請(qǐng)求發(fā)送給其他的CPU,但是A的CPU處理請(qǐng)求的機(jī)會(huì)更多。

同理,在ARR中,可以通過(guò)設(shè)置客戶端的親緣性,ARR主要是通過(guò)使用Cookie來(lái)實(shí)現(xiàn)的。至于如何實(shí)現(xiàn)的,其實(shí)也很簡(jiǎn)單,這里暫且不說(shuō)。

這里就來(lái)說(shuō)說(shuō)客戶親緣性的一些需要考慮的點(diǎn):

1. 如果使用了客戶端親緣性,就可以在應(yīng)用中使用傳統(tǒng)的Session和Cache,而沒(méi)有必要使用分布式的Session和Cache。這里,以Session為例子,因?yàn)楹芏嗟臅r(shí)候,我們都需要將一個(gè)站點(diǎn)應(yīng)用部署到多個(gè)服務(wù)器上,如果在某些地方使用了Session,特別保存用戶的一些數(shù)據(jù)的時(shí)候,就需要使用分布式的Session,用戶登錄就是一個(gè)最明顯的例子(避免用戶從服務(wù)器A上登錄,當(dāng)下一次請(qǐng)求在B服務(wù)器處理的時(shí)候,還需要再次登錄)。使用客戶端親緣性,ARR就可以將同一個(gè)用戶的請(qǐng)求再次轉(zhuǎn)發(fā)到用戶第一次請(qǐng)求的服務(wù)器上。

2. 使用客戶端親緣性,就在一定程度上面失去了負(fù)載均衡的意義。因?yàn)樵O(shè)置了客戶端親緣性,即使用戶初次請(qǐng)求的服務(wù)器現(xiàn)在壓力很大,那么ARR還是會(huì)將用戶的請(qǐng)求轉(zhuǎn)發(fā)過(guò)去。

3. 客戶端親緣性,失去了高可用性。因?yàn)楹苡锌赡墁F(xiàn)在處理用戶請(qǐng)求的服務(wù)器已經(jīng)宕機(jī)了,雖然ARR有健康檢查機(jī)制,但是ARR還是可以將請(qǐng)求發(fā)給宕機(jī)的服務(wù)器,導(dǎo)致請(qǐng)求無(wú)法處理。

5. 宿主名親緣性,理解了上面的“客戶端親緣性“,這里就更加容易理解了。“ 宿主名親緣性”主要使用在共享服務(wù)器中的(很多人使用一臺(tái)服務(wù)器,就是站點(diǎn)部署的時(shí)候,購(gòu)買的是“虛擬地址空間”)。我們后面在提到的時(shí)候,會(huì)詳細(xì)講解。

6.服務(wù)器分組,ARR可以管理很多的服務(wù)器組,其中每一組又包含多臺(tái)服務(wù)器服。

7.基于圖形化界面的管理與健康,ARR與IIS集成,并且,通過(guò)了可視化的,便于操作的可視化操作界面。

8.制定請(qǐng)求失敗的跟蹤規(guī)則,在ARR中,可以定義特定的跟蹤規(guī)則,當(dāng)請(qǐng)求處理失敗之后查看跟蹤信息,便于診斷。

二、Application Request Route安裝

下面,我們就介紹ARR的安裝,便于大家快速上手與學(xué)習(xí):

ARR依賴于以下組件:

1.   Microsoft URL Rewrite Module for IIS 7.0.

2.   Microsoft Web Farm Management Version 1 for IIS 7.0.

3.   Microsoft Application Request Routing Version 1 for IIS 7.0.

4.   Microsoft External Cache Version 1 for IIS 7.0.

ARR的安裝,需要相關(guān)的環(huán)境,如下:

IIS 7.0 以及以后的版本

下面開(kāi)始進(jìn)入安裝:

1. 下載ARR:現(xiàn)在ARR已經(jīng)發(fā)展了2.5的版本,可以說(shuō)已經(jīng)很穩(wěn)定了,筆者也在一些大型項(xiàng)目中已經(jīng)采用,效果還不錯(cuò)。現(xiàn)在地址:http://www.tjdsmy.cn/download/ApplicationRequestRouting

2. 現(xiàn)在ARR集成在Web 安裝平臺(tái)中;

3.點(diǎn)擊“Install”,開(kāi)始安裝;

4.安裝之后,打開(kāi)IIS的控制窗口,如下(Win7系統(tǒng)的界面):

blob.png

   如果看到有“Server Farms”,就說(shuō)明安裝OK了。

5.配置應(yīng)用程序池

我們希望在安裝了ARR的服務(wù)器上的IIS要必須不停的運(yùn)行,不停把請(qǐng)求轉(zhuǎn)發(fā)到其他的服務(wù)器上面,也就是說(shuō):這臺(tái)安裝了ARR的服務(wù)器基本的功能就是請(qǐng)求轉(zhuǎn)發(fā)。假設(shè)網(wǎng)站的應(yīng)用程序池是defaultapppool,為了讓站點(diǎn)源源不斷的接受HTTP請(qǐng)求(應(yīng)用程序池默認(rèn)是不會(huì)不斷的接收請(qǐng)求的,它有一個(gè)時(shí)間的延時(shí),這個(gè)?時(shí)的時(shí)間往往就是默認(rèn)的請(qǐng)求處理時(shí)間),需要設(shè)置應(yīng)用程序池的閑置超時(shí)時(shí)間,設(shè)置如下:

應(yīng)用程序池-defaultapppool-高級(jí)設(shè)置-進(jìn)程模型-閑置超時(shí)(分鐘),設(shè)置為0,確定。


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題: