windows第七層負載均衡_基于IIS的ARR負載均衡詳解
載均衡有很多種方法,有硬件負載均衡,軟件負載均衡,還可以從域名解析下手。
不過,今天只講軟件負載均衡。
軟件負載均衡一般分兩種,從網(wǎng)絡(luò)協(xié)議來講(tcp/ip),主要集中在第四層和第七層進行負載均衡。
第四層就是基于IP進行負載均衡。后面還有一篇文章講這個。
第七層就是應(yīng)用層。比如各種的WEB服務(wù)器。今天就講講IIS的負載均衡。
第七層的Web負載均衡,很多web服務(wù)器都支持,比如IIS,Nginx,apache等?,F(xiàn)在主要講一下windosw下IIS如何使用負載均衡
IIS使用ARR反向代理,實現(xiàn)負載均衡
什么是正向代理?
代理服務(wù)器大家可能聽說過,比如我們說的“科學(xué)上網(wǎng)”。就是使用代理服務(wù)器,請求經(jīng)過代理服務(wù)器轉(zhuǎn)到目的服務(wù)器。這是一個正向代理。用戶知道自己使用代理,并且充許用戶隱藏客戶端自身。
什么是反向代理?
請求同樣經(jīng)過代理服務(wù)器轉(zhuǎn)到目的服務(wù)器,目的服務(wù)器返回給代理服器,代理返回給客戶端。不同的時候,客戶并不知道,訪問的是一個代理服務(wù)器??蛻粽J為他在訪問目的服務(wù)器。
兩者的區(qū)別基本在于,正向代理是發(fā)生在客戶端。反向代理是發(fā)生在服務(wù)端。
首先,我們先安裝一個Web平臺安裝程序
打開web平臺安裝程序,搜索arr

寫WebApi程序
[Route("api/[controller]")]
public class HomeController : Controller
{
// GET: api/<controller>
[HttpGet,Route("GetUserChat")]
public async Task<ActionResult> GetUserChat()
{
var collection = new MongoHelper().GetCollection<OAChat>("OAChat");
var chatItems =await collection.Find(n => n.ChatType == 2).Limit(5).ToListAsync();
return ApiJsonFormat.GetJsonResult(chatItems);
}
}
返回結(jié)果
{"ResultCode":1000,"Message":"成功","DetailError":null,"Data":[{"Id":"595225a5bbccc61ff88e89a7","ChatName":"testttt","ChatType":2,"CreaterUserId":76,"Members":[],"CreateTime":"2017-06-27 17:30:13","LastChatTime":"2017-11-10 17:43:17","LastChatText":"[定位]","IsDisbanded":false},{"Id":"5952445ebbccc71ff8adf671","ChatName":"測試2","ChatType":2,"CreaterUserId":13,"Members":[],"CreateTime":"2017-06-27 19:41:18","LastChatTime":"2017-06-27 19:48:47","LastChatText":"行","IsDisbanded":true},{"Id":"5952463dbbccc71ff8adf67d","ChatName":"巡視頻么么噠噠","ChatType":2,"CreaterUserId":13,"Members":[],"CreateTime":"2017-06-27 19:49:17","LastChatTime":"2017-12-20 19:47:17","LastChatText":"[定位]","IsDisbanded":false},{"Id":"59524c0ebbccc71ff8adf6ae","ChatName":"rrrffff","ChatType":2,"CreaterUserId":13,"Members":[],"CreateTime":"2017-06-27 20:14:06","LastChatTime":"2017-06-27 20:34:54","LastChatText":"6565","IsDisbanded":false},{"Id":"59531cdfbbccc414e8f6769f","ChatName":"都紛紛fee俄方熱熱","ChatType":2,"CreaterUserId":76,"Members":[],"CreateTime":"2017-06-28 11:05:03","LastChatTime":"2017-06-28 11:05:13","LastChatText":"123","IsDisbanded":true},{"Id":"59531de5bbccc414e8f676a1","ChatName":"天賦過人托管人","ChatType":2,"CreaterUserId":76,"Members":[],"CreateTime":"2017-06-28 11:09:25","LastChatTime":"2017-06-28 11:09:33","LastChatText":"呃呃呃","IsDisbanded":true},{"Id":"59531e40bbccc414e8f676a3","ChatName":"熱熱","ChatType":2,"CreaterUserId":76,"Members":[],"CreateTime":"2017-06-28 11:10:56","LastChatTime":"2017-06-28 17:58:41","LastChatText":"333","IsDisbanded":false},{"Id":"59532140bbccc414e8f676a6","ChatName":"會厭結(jié)核有機會好好","ChatType":2,"CreaterUserId":76,"Members":[],"CreateTime":"2017-06-28 11:23:44","LastChatTime":"2017-06-28 11:24:40","LastChatText":"eee","IsDisbanded":true},{"Id":"595321d3bbccc414e8f676a8","ChatName":"656565656","ChatType":2,"CreaterUserId":76,"Members":[],"CreateTime":"2017-06-28 11:26:11","LastChatTime":"2017-06-28 18:50:08","LastChatText":"ggg","IsDisbanded":false},{"Id":"5954d0eebbccc40fecbea435","ChatName":"r","ChatType":2,"CreaterUserId":76,"Members":[],"CreateTime":"2017-06-29 18:05:34","LastChatTime":null,"LastChatText":null,"IsDisbanded":false}]}
//設(shè)置ARR
192.168.99.5 //代理服務(wù)器 192.168.99.6 //目的服務(wù)器 192.168.99.7 //目的服務(wù)器 192.168.99.8 //目的服務(wù)器 192.168.99.10 //目的服務(wù)器 192.168.99.11 //目的服務(wù)器 192.168.99.12 //目的服務(wù)器 192.168.99.13 //目的服務(wù)器
首先給服務(wù)器安裝net core 運行環(huán)境
DotNetCore.2.0.5-WindowsHosting 安裝包內(nèi)置SDK和WindowsHosting,直接安裝這個,安裝成功之后,要重啟服務(wù)器才能生效。然后部署Web就可以訪問了
選擇無托管代碼

好,部署成功之后,可以正常訪問了

好,馬上試一下部署ARR,是否能實現(xiàn)反向代理
添加一個入口站點,默認端80。




非常簡單數(shù)據(jù)出來啦。理論就搭建成功了。
192.168.99.5 的站點,還有兩個地方要注意設(shè)置
IIS程序池的隊列長度。由于這是代理服務(wù)器很多請求都會經(jīng)過這個站點,所以這個長度就設(shè)置長一點。默認值是1000。
IIS程序池的閑置超時。設(shè)置為0,將長期保持不回收狀態(tài)。
轉(zhuǎn)化服務(wù)器的網(wǎng)卡要目的服務(wù)器的網(wǎng)卡要好,這樣能支撐更大的流量需求。
下面把一些細節(jié)介紹一下,然后做一下壓力測試,就大功告成啦。
安裝ARR完成之后,會出現(xiàn)兩個

URL重寫充許你定則重寫規(guī)則,我沒怎么用過,特么不嫌麻煩。這就不細講了。
Server Farms可以對你的集群進行管理,健康檢查,轉(zhuǎn)化統(tǒng)計。

分別對應(yīng)的是:緩存,健康檢查,負載均衡,監(jiān)視和管理,代理,路由規(guī)則,服務(wù)器相關(guān)性
健康檢查:主要是檢查各個服務(wù)器的IIS是否正常運作。(這個也是第七層負載均衡的一個好處,能感知Web服務(wù)器是否正常運作)
負載均衡:主要作用是設(shè)置各種分發(fā)規(guī)則。比如根據(jù)權(quán)重,最小響應(yīng)時間,最小請求量等
監(jiān)視和管理:主要讓你看到各個服務(wù)器的健康情況,請求量,失敗量,緩存命中率等。
服務(wù)器相關(guān)性:主要提供一種服務(wù)器和客戶端之間的粘性。簡單理解就是,客戶端A的請求分配到服務(wù)器B處理之后,以后客戶端A的請求都分配到服務(wù)器B處理。(這樣設(shè)計理論會使用分配不均,當然也有好處,比如可以使用本地session)
Client Affinity: 根據(jù)客戶端的cookies處理粘性
Host Name Affinity 根據(jù)Host name處理粘性
下面試一下壓力測試,用大微軟的VS2017進行壓力測試,細節(jié)我就不講了,貼了一些結(jié)果吧。




在測試過的過程中,經(jīng)?,F(xiàn)一個502.3 Timeout Errors的問題,是ARR3.0的問題,換回ARR2.0 版本之后,就正常了。
啟動性能監(jiān)視器,統(tǒng)計每秒請求數(shù),也與壓力測試的結(jié)果吻合。每秒358次。
ARR測試到止結(jié)束,下班。
以上這篇windows第七層負載均衡_基于IIS的ARR負載均衡詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Windows Server 2019 組策略的配置與管理 理論基礎(chǔ)
介紹了組策略的定義,作用和分類。組策略包括計算機配置和用戶配置;組策略又分為為基于本地的組策略和基于AD(活動目錄)的域組策略。并說明了不同組策略發(fā)生沖突時默認的規(guī)則2023-05-05
IIS8.5 配置錯誤提示不能在此路徑中使用此配置節(jié)的解決辦法
今天剛安裝好IIS8.5, 我的系統(tǒng)是win8.1 enterprise版本。 建了一個簡單的頁面準備調(diào)試,卻發(fā)現(xiàn)了這個錯誤,不能在此路徑中使用此配置節(jié)2014-07-07
win2003 R2升級提示另一個應(yīng)用程序要求重新啟動的解決方法
windows2003 R2升級提示另一個應(yīng)用程序要求重新啟動計算機,您必須重新啟動此計算機安裝程序才能運行的臨時解決方法2012-06-06
Windows 2008 IIS7.5中創(chuàng)建獨立賬號的FTP站點圖文教程
這篇文章主要介紹了Windows 2008 IIS7.5中創(chuàng)建獨立賬號的FTP站點圖文教程,IIS7.5的FTP功能已經(jīng)非常強大了,需要的朋友可以參考下2014-08-08
IIS7 全新管理工具AppCmd.exe的命令使用實例分享
IIS 7 提供了一個新的命令行工具 Appcmd.exe,可以使用該工具來配置和查詢 Web 服務(wù)器上的對象,并以文本或 XML 格式返回輸出2013-04-04
windows server創(chuàng)建域的實現(xiàn)步驟
本文主要介紹了windows server創(chuàng)建域的實現(xiàn)步驟,文中通過圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
Windows Server 2012 R2安裝遠程桌面服務(wù)(圖文教程)
遠程桌面可以提供的技術(shù)可讓用戶訪問在遠程桌面會話主機,本文主要介紹了Windows Server 2012 R2安裝遠程桌面服務(wù),具有一定的參考價值,感興趣的可以了解一下2024-05-05
iis6和iis7限制上傳文件(請求頭)大小以及不支持FSO解決方法
今天運行asp的時候出錯提示信息:Request 對象 錯誤 'ASP 0104 : 80004005',oUpFileStream.Write Request.BinaryRead 不允許操作,下面來簡單的分享下2014-07-07
ApplicationHost.config(IIS存儲配置區(qū)文件)介紹
在IIS的配置文件中ApplicationHost.config的modules 元素中注冊了很多模塊 ,這些模塊供IIS承載的所有應(yīng)用程序使用,這里就為大家介紹一下,需要的朋友可以參考下2019-11-11

