999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C#自動(dòng)生成PAC腳本實(shí)現(xiàn)代理服務(wù)器的負(fù)載均衡與冗余

2015-10-21 01:41:48林楠

林楠

摘 ?要:IPv4地址資源不足,共享IP一般采用NAT、代理、反向代理等方式,在客戶(hù)端數(shù)量較多的情況下,一般要考慮負(fù)載均衡與冗余的情況。文章介紹一種通過(guò)定期輪詢(xún)動(dòng)態(tài)生成PAC腳本,從而達(dá)到數(shù)臺(tái)代理服務(wù)器的負(fù)載均衡與冗余的程序設(shè)計(jì),具有低成本、操作簡(jiǎn)單的特點(diǎn)。

關(guān)鍵詞:CSharp;PAC腳本;代理服務(wù)器;負(fù)載均衡;冗余

中圖分類(lèi)號(hào):TP393.06 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ? ?文章編號(hào):1006-8937(2015)06-0070-02

目前,IPv4的地址資源嚴(yán)重告急,在日常工作生活中,家庭或企業(yè)一般只能通過(guò)一個(gè)或幾個(gè)互聯(lián)網(wǎng)IP地址進(jìn)行接入,其內(nèi)部網(wǎng)絡(luò)如需同時(shí)訪問(wèn)互聯(lián)網(wǎng),一般使用路由器的NAT(Network Address Translation網(wǎng)絡(luò)地址轉(zhuǎn)換)功能或代理服務(wù)器來(lái)實(shí)現(xiàn)私網(wǎng)對(duì)互聯(lián)網(wǎng)的訪問(wèn)。但是當(dāng)內(nèi)部網(wǎng)絡(luò)計(jì)算機(jī)數(shù)量過(guò)多時(shí),NAT會(huì)極大的影響整臺(tái)路由器的性能,單代理服務(wù)器也會(huì)因負(fù)載過(guò)大而經(jīng)常宕機(jī)。此時(shí),我們一般采用以下幾種方式來(lái)解決這個(gè)問(wèn)題:

①使用防火墻的NAT功能來(lái)替代路由器的NAT功能,防火墻的NAT功能是由硬件實(shí)現(xiàn),性能遠(yuǎn)超路由器,可以支持大數(shù)量級(jí)的NAT。

②使用多臺(tái)代理服務(wù)器實(shí)現(xiàn)負(fù)載均衡。將用戶(hù)請(qǐng)求隨機(jī)發(fā)送到不同的代理服務(wù)器,以實(shí)現(xiàn)負(fù)載均衡。

基于成本等因素考慮,我們選擇方案2,通過(guò)部署多臺(tái)代理服務(wù)器,并在客戶(hù)端使用自動(dòng)代理PAC腳本來(lái)實(shí)現(xiàn)代理服務(wù)器的負(fù)載均衡。

1 ?PAC腳本應(yīng)用

自動(dòng)代理腳本(Proxy auto-config Script),簡(jiǎn)稱(chēng)PAC腳本。一個(gè)PAC文件就是一個(gè)Javascript腳本,可放置在服務(wù)器上,通過(guò)遠(yuǎn)程WEB訪問(wèn),客戶(hù)端只需要在代理的使用自動(dòng)檢測(cè)腳本中輸入PAC腳本的WEB地址,就可以使用該腳本,當(dāng)代理服務(wù)器發(fā)生變化時(shí),只需維護(hù)Web服務(wù)器上的PAC腳本,無(wú)需更改客戶(hù)端配置,方便后期維護(hù),減輕運(yùn)維成本與負(fù)擔(dān)。

PAC腳本包含一個(gè)FindProxyForURL函數(shù),IE通過(guò)傳入兩個(gè)參數(shù)url(訪問(wèn)地址的完整URL)與host(訪問(wèn)地址的主機(jī)名)來(lái)判斷是直接訪問(wèn),還是通過(guò)函數(shù)返回的代理服務(wù)器地址與端口來(lái)訪問(wèn)。

PAC腳本可以通過(guò)取隨機(jī)數(shù)輕松實(shí)現(xiàn)負(fù)載均衡,但是當(dāng)其中一臺(tái)服務(wù)器宕機(jī)時(shí),腳本依舊有可能返回該服務(wù)器,從而導(dǎo)致客戶(hù)端訪問(wèn)異常。于是我們考慮可以編寫(xiě)一個(gè)程序,運(yùn)行在存放PAC腳本的WEB服務(wù)器,通過(guò)定時(shí)對(duì)各代理服務(wù)器進(jìn)行輪詢(xún),根據(jù)代理服務(wù)器狀態(tài)變化,重寫(xiě)PAC腳本。

2 ?程序總體設(shè)計(jì)

程序基于C#的Winform編寫(xiě),分為兩個(gè)模塊。

2.1 ?監(jiān)控模塊

程序設(shè)置一個(gè)timer定時(shí)器,定期對(duì)各代理服務(wù)器進(jìn)行輪詢(xún),根據(jù)輪詢(xún)結(jié)果決定是否重寫(xiě)PAC腳本,并顯示輪詢(xún)結(jié)果,方便巡檢查看。輪詢(xún)采用TcpClinet.Connect方法來(lái)測(cè)試代理服務(wù)器是否正常工作,如圖1所示。

2.2 ?配置模塊

可對(duì)代理服務(wù)器地址、端口、輪詢(xún)間隔、PAC文件存放路徑與文件名等參數(shù)進(jìn)行配置。配置文件采用XML格式保存,如圖2所示。

3 ?技術(shù)實(shí)現(xiàn)

3.1 ?連接測(cè)試

如直接使用TcpClient.Connect連接測(cè)試端口,當(dāng)服務(wù)器不連通或端口未打開(kāi)時(shí),需要很長(zhǎng)時(shí)間才能返回結(jié)果,捕獲So-

cketException異常。這里希望可以設(shè)定一個(gè)較短的時(shí)間獲取結(jié)果,超時(shí)則判斷連接失敗。

這里使用了ConnectorState.Completed.WaitOne(int millise-

condsTimeout,bool exitContext)函數(shù),在millisecondsTimeout內(nèi)未響應(yīng),則返回錯(cuò)誤,退出線程。

3.2 ?文件寫(xiě)入

FileStream對(duì)象表示在磁盤(pán)或網(wǎng)絡(luò)路徑上指向文件的流。這個(gè)類(lèi)提供了在文件中讀寫(xiě)字節(jié)的方法,經(jīng)常使用StreamRea-

der或StreamWriter執(zhí)行這些功能。FileMode.Create表示當(dāng)文件不存在時(shí)直接創(chuàng)建文件,而文件已存在時(shí)刪除該文件,然后創(chuàng)建新文件。

3.3 ?XML讀寫(xiě)

可擴(kuò)展標(biāo)記語(yǔ)言,簡(jiǎn)稱(chēng)XML,輕量級(jí)的數(shù)據(jù)存儲(chǔ)文件,規(guī)范統(tǒng)一,易于閱讀、擴(kuò)展,可被幾乎所有的語(yǔ)言所支持。

程序使用XmlDocument來(lái)讀取XML文件。XML文件可視為由聲明(Declare),元素(Element),屬性(Attribute),文本(Text)等構(gòu)成的一個(gè)樹(shù)。第一個(gè)結(jié)點(diǎn)為根結(jié)點(diǎn),每個(gè)結(jié)點(diǎn)均可以有自己的子結(jié)點(diǎn)。可以通過(guò)一系列屬性或方法得到這個(gè)結(jié)點(diǎn)的值或其它一些屬性。

3.4 ?功能控制

當(dāng)監(jiān)控未開(kāi)始時(shí),可以重新加載代理服務(wù)器,但不能手動(dòng)輪詢(xún)。當(dāng)開(kāi)始監(jiān)控時(shí),可以手動(dòng)輪詢(xún),但不可以重新加載代理服務(wù)器。

4 ?后期功能擴(kuò)展

后期可考慮對(duì)以下功能進(jìn)行擴(kuò)展,也可以根據(jù)實(shí)際需求,開(kāi)發(fā)新的功能。

4.1 ?日志與備份

將輪詢(xún)結(jié)果、文件生成、更改配置等操作記錄在日志中備查,并在生成新的PAC文件與配置前,對(duì)原文件進(jìn)行備份。

4.2 ?服 ?務(wù)

將程序安裝為服務(wù),可在WEB服務(wù)器啟動(dòng)時(shí)自動(dòng)運(yùn)行。設(shè)置為只運(yùn)行一個(gè)實(shí)例,避免不同用戶(hù)登錄重復(fù)運(yùn)行,造成資源浪費(fèi)。

4.3 ?異常提醒

運(yùn)維人員可以根據(jù)輪詢(xún)顯示結(jié)果及時(shí)發(fā)現(xiàn)故障。可考慮以發(fā)送短信等方式進(jìn)行實(shí)時(shí)提醒,縮短故障發(fā)現(xiàn)周期,提高可靠性。

5 ?結(jié) ?語(yǔ)

本文提供一種思路,使用自動(dòng)代理腳本PAC實(shí)現(xiàn)代理服務(wù)器的負(fù)載均衡,再編寫(xiě)一個(gè)程序,通過(guò)定時(shí)輪詢(xún)檢測(cè)代理服務(wù)器的狀態(tài),根據(jù)狀態(tài)變化,動(dòng)態(tài)生成PAC文件,實(shí)現(xiàn)代理服務(wù)器的冗余,低成本地解決代理服務(wù)器的負(fù)載均衡與冗余。

參考文獻(xiàn):

[1] 董文江,胡軼,李健玲,等.PAC腳本在文獻(xiàn)代理數(shù)據(jù)庫(kù)中的應(yīng)用[J].甘肅科技,2006,(9).

主站蜘蛛池模板: 伊在人亚洲香蕉精品播放| 国产一区二区在线视频观看| 国产美女在线观看| 欧美日本在线| 九九视频免费看| 亚洲愉拍一区二区精品| 国产麻豆福利av在线播放 | 成人午夜福利视频| 免费A级毛片无码免费视频| 97成人在线视频| 巨熟乳波霸若妻中文观看免费| 婷婷午夜天| 中美日韩在线网免费毛片视频| 浮力影院国产第一页| 日本道中文字幕久久一区| 中文字幕无码电影| 精品少妇人妻一区二区| 国产日韩欧美黄色片免费观看| 成人在线观看一区| 欧美成人午夜视频| 日韩激情成人| 国产欧美另类| 国产成年女人特黄特色毛片免| 久久精品电影| 国产浮力第一页永久地址| 日韩国产精品无码一区二区三区 | 国产手机在线观看| 91精品啪在线观看国产60岁| 国产一级毛片yw| 国产日韩AV高潮在线| 国产菊爆视频在线观看| 国产综合色在线视频播放线视| 国内精品视频区在线2021| 久久国产精品国产自线拍| 国产三级毛片| 中文字幕乱码中文乱码51精品| 一区二区三区四区精品视频 | 国产迷奸在线看| 国产流白浆视频| 亚洲制服丝袜第一页| 深爱婷婷激情网| 亚洲一级无毛片无码在线免费视频 | 黄色片中文字幕| 伊伊人成亚洲综合人网7777| 日本91视频| 亚洲女同一区二区| 伊人色婷婷| 亚洲成网777777国产精品| 又猛又黄又爽无遮挡的视频网站| 久久一色本道亚洲| 天堂va亚洲va欧美va国产 | 夜夜拍夜夜爽| 精品视频第一页| 成人午夜视频网站| 国产一区二区三区精品欧美日韩| 亚洲第一区欧美国产综合| 五月激情综合网| 欧美日韩一区二区三区在线视频| 99久久国产综合精品女同| 亚洲国产一成久久精品国产成人综合| 天堂在线www网亚洲| 亚洲无码四虎黄色网站| 欧美成人区| 91色国产在线| 亚洲人成网站在线播放2019| 国产成年女人特黄特色大片免费| 久久久受www免费人成| 综合久久久久久久综合网| 五月天香蕉视频国产亚| 91精品福利自产拍在线观看| 国产午夜一级毛片| 91国语视频| 六月婷婷精品视频在线观看| 成人午夜久久| 人人91人人澡人人妻人人爽 | 青青草原国产免费av观看| 精品超清无码视频在线观看| 视频二区亚洲精品| 中文字幕va| 国产精品福利社| 2021国产在线视频| 99ri精品视频在线观看播放|