C#中怎么實(shí)現(xiàn)分布式負(fù)載均衡

本篇文章為大家展示了 C#中怎么實(shí)現(xiàn)分布式負(fù)載均衡,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)主營(yíng)常寧網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),常寧h5小程序設(shè)計(jì)搭建,常寧網(wǎng)站營(yíng)銷推廣歡迎常寧等地區(qū)企業(yè)咨詢

假如想要進(jìn)行負(fù)載平衡,實(shí)際上建議直接購(gòu)買云服務(wù)或硬件設(shè)備,這樣基本上不需要進(jìn)行任何配置和學(xué)習(xí)就可以很容易地進(jìn)行負(fù)載平衡。別跟風(fēng)各種反代 nginx,說(shuō)白了有錢人買設(shè)備比自己鼓吹靠譜多了,沒錢買設(shè)備用云服務(wù)也很劃算。

在進(jìn)行負(fù)載均衡之前,最重要的一點(diǎn)是,您的網(wǎng)站應(yīng)用是否已準(zhǔn)備好進(jìn)行負(fù)載均衡,比方說(shuō),您是否已進(jìn)行 Sessionless,請(qǐng)求處理時(shí)間是否均勻(在某些情況下,幾秒鐘處理一個(gè)請(qǐng)求?是否在代碼中存在依賴全局鎖(static對(duì)象上的鎖)。

如果以上幾點(diǎn)沒有做好,比如嚴(yán)重的Session依賴,幾十秒的請(qǐng)求處理時(shí)間長(zhǎng),一秒幾百的處理時(shí)間短,代碼中各種靜態(tài)非線程安全的共享資源。建議你先重構(gòu)系統(tǒng),再考慮負(fù)載均衡。

做負(fù)載均衡,一般來(lái)說(shuō),剛開始已經(jīng)做了一些工作,最基本的就是去除Session依賴,避免全局鎖。然后配置機(jī)器密鑰。如果無(wú)法釋放會(huì)話相關(guān)性,則使用狀態(tài)服務(wù)器模式。當(dāng)然,直接釋放Session依賴更好。

然后就是考驗(yàn)。IIS的WebFarm可以使用多個(gè)進(jìn)程來(lái)處理請(qǐng)求,但是因?yàn)槭窃谝慌_(tái)機(jī)器上測(cè)試,所以很多情況無(wú)法測(cè)試(比如machineKey不一致導(dǎo)致的問題)。

現(xiàn)在真的是一個(gè)非常好的時(shí)機(jī),因?yàn)樵朴?jì)算已經(jīng)非常成熟,所以負(fù)載均衡測(cè)試可以直接扔到云上去測(cè)試。如果您購(gòu)買作為按需實(shí)例,您可能會(huì)購(gòu)買幾個(gè)最便宜的虛擬機(jī),然后使用云負(fù)載平衡測(cè)試。經(jīng)過(guò)一周的測(cè)試,要花兩三百塊錢才能上。這個(gè)測(cè)試和實(shí)際情況幾乎沒有區(qū)別。如果將來(lái)部署在云上,根本沒有區(qū)別。

經(jīng)過(guò)云測(cè)試,基本確定系統(tǒng)能夠在負(fù)載均衡環(huán)境下穩(wěn)定運(yùn)行。此時(shí)可以對(duì)一些高度懷疑可能出現(xiàn)問題的地方進(jìn)行補(bǔ)充測(cè)試,比如回發(fā)到不同的服務(wù)器,登錄和注銷到不同的服務(wù)器等等。這時(shí)可以直接打開Fiddler override去掉DNS解析,手動(dòng)指定服務(wù)器測(cè)試各種可能出錯(cuò)的場(chǎng)景。

這些都完成之后,就可以進(jìn)行壓力測(cè)試了,有些問題只有在壓力下才會(huì)暴露出來(lái)。同時(shí),我們可以測(cè)試當(dāng)增加負(fù)載節(jié)點(diǎn)時(shí),壓力閾值是否可以線性增加。如果不是線性增長(zhǎng),說(shuō)明網(wǎng)站架構(gòu)有問題,不能很好的利用負(fù)載均衡。
完成所有這些之后,有必要在將負(fù)載平衡器部署到生產(chǎn)環(huán)境之前對(duì)其進(jìn)行監(jiān)控和測(cè)試。也就是說(shuō),確認(rèn)負(fù)載均衡器可以自動(dòng)發(fā)現(xiàn)節(jié)點(diǎn)故障,自動(dòng)遷移節(jié)點(diǎn)。高級(jí)負(fù)載平衡器還可以根據(jù)節(jié)點(diǎn)負(fù)載情況動(dòng)態(tài)分配請(qǐng)求,盡可能將同一客戶端的請(qǐng)求分配給同一服務(wù)器。這些都是需要測(cè)試的,而不是發(fā)現(xiàn)各種設(shè)備都是在線服務(wù)器掛機(jī)后才配置的。

完成之后可以進(jìn)行壓力測(cè)試,一些問題在壓力下暴露出來(lái)。另外,還可以測(cè)試增加負(fù)載節(jié)點(diǎn)時(shí)所能承受的壓力閾值是否線性增長(zhǎng),如果不是,說(shuō)明一個(gè)網(wǎng)站架構(gòu)不能很好地利用負(fù)載均衡。

上述內(nèi)容就是 C#中怎么實(shí)現(xiàn)分布式負(fù)載均衡,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱:C#中怎么實(shí)現(xiàn)分布式負(fù)載均衡
當(dāng)前網(wǎng)址:http://bm7419.com/article14/gihcge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、虛擬主機(jī)、自適應(yīng)網(wǎng)站營(yíng)銷型網(wǎng)站建設(shè)、定制網(wǎng)站、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)