下面分享一个基于IIS的windows第七层负载均衡_ ARR负载均衡的详细讲解,有很好的参考价值。希望对你有帮助。来和边肖一起看看吧。
有许多平衡方法,包括硬件负载平衡、软件负载平衡和域名解析。
不过,今天只讲软件负载均衡。
一般来说,有两种软件负载均衡。在网络协议(tcp/ip)方面,主要集中在第四层和第七层进行负载均衡。
第四层是基于IP的负载均衡。关于这个后面还有一篇文章。
第七层是应用层。例如各种网络服务器。今天就来说说IIS的负载均衡。
很多web服务器都支持第七层Web负载均衡,比如IIS、Nginx、apache等。现在主要说一下windosw下IIS如何使用负载均衡。
IIS使用ARR反向代理,实现负载均衡
什么是正向代理?
你可能听说过代理,比如“科学上网”。使用代理服务器,请求通过代理服务器传输到目的服务器。这是一个正向代理。用户知道他们使用代理,并允许用户隐藏客户端本身。
什么是反向代理?
请求还通过代理服务器传递到目的服务器,目的服务器返回到代理服务器,代理返回到客户端。在不同的时间,客户不知道他们正在访问代理服务器。客户认为他正在访问目的服务器。
两者之间的区别基本上是转发代理发生在客户端。反向代理发生在服务器端。
首先,我们安装一个
Web平台安装程序
。打开web平台安装程序并搜索arr。
写WebApi程序
[路由( API/[控制器])]
公共类HomeController:控制器
{
//GET:API/控制器
[HttpGet,Route(GetUserChat)]
public async TaskActionResult GetUserChat()
{
var collection=new MongoHelper()。GetCollectionOAChat( oach at );
var chatItems=await collection。Find(n=n.ChatType==2)。极限(5)。ToListAsync();
返回ApiJsonFormat。GetJsonResult(chat items);
}
}
返回结果
{ResultCode:1000, Message: success , detailererror: null, data :[{ id : 595225 a5 bbcc 61 ff 88 e 89 a 7 , chatname: testttt , chattype: 2,Members: [], CreateTime: 2017-06-27 17:30:13 , LastChattime : 2017-11-10 17:43:17 , LastChatText :[Positioning], {id: 5952445ebCCC71ff8af671 , Chatname: Test 2 , Chattype: 2, CreatureUserID: 13, Members: [], create time : 2017-06-27 17 Createruserid: 13, Members: [], create time : 2017-06-27 19:49:17 , last chattime : 2017-12-20 19:47:17 , last chattext { Id : 59524 c 0 ebbccc 71 ff 8 ADF 6 AE , chat name : rrrfff , ChatType:2, CreaterUserId:13, Members:[], CreateTime:2017-06-27 20
//设置数组
192.168.99.5 //代理服务器
192.168.99.6 //目标服务器
192.168.99.7 //目标服务器
192.168.99.8 //目标服务器
192.168.99.10 //目标服务器
192.168.99.11 //目标服务器
192.168.99.12 //目标服务器
192.168.99.13 //目标服务器
首先给服务器安装net core 运行环境
Dotcore.2.0.5-WindowsHosting安装包内置了SDK和WindowsHosting。直接安装这个。成功安装后,您必须重新启动服务器才能生效。然后部署Web,就可以访问了。
选择无托管代码
好,部署成功之后,可以正常访问了
好了,我们马上试着部署ARR,看能不能实现反向代理。
添加一个门户网站,默认终端为80。
很简单的数据就出来了。理论建立成功。
92.168.99.5网站,有两个地方需要注意设置。
IIS程序池的队列长度。由于来自代理服务器的许多请求将通过该站点,因此该长度应该设置得更长。默认值为1000。
IIS程序池的空闲超时。设置为0,将长时间保持回收状态。
转换服务器的网卡比目的服务器的好,可以支持更大的流量需求。
下面把一些细节介绍一下,然后做一下压力测试,就大功告成啦。
安装ARR完成之后,会出现两个
重写URL允许您重写规则。没怎么用过,所以不太麻烦。我就不细说了。
服务器场可以管理、检查和转换您的群集。
分别对应的是:
缓存、健康检查、负载平衡、监控和管理、代理、路由规则、服务器依赖性健康检查:主要检查每台服务器的IIS是否工作正常。(这也是第7层负载均衡的一个优势,可以感知Web服务器是否正常工作。)
负载均衡:
主要用于设置各种分配规则。比如根据权重、最小响应时间、最小请求量等。监视和管理:
主要让你看到健康状态、请求量、故障量、缓存命中率等。每台服务器的。服务器相关性:
主要提供一种服务器和客户端之间的粘性。简单来说,客户端A的请求分发到服务器B处理后,客户端A的所有请求都会分发到服务器B处理。(这种设计理论会使用不均匀分布,当然也有优点,比如可以使用本地会话)客户端关联:根据客户端cookies处理粘性。
主机关联根据主机名处理粘性
下面试一下压力测试,用大微软的VS2017进行压力测试,细节我就不讲了,贴了一些结果吧。
在测试过程中,经常会出现502.3超时错误问题,这就是ARR3.0问题。切换回ARR2.0版本后,正常。
启动性能监视器,统计每秒的请求数,这也与压力测试的结果一致。每秒358次。
ARR测试结束,下班了。
以上基于IIS的windows第七层负载均衡_ ARR负载均衡的详细讲解就是边肖分享的全部内容。希望能给你一个参考,多多支持我们。