windows第七层负载均衡_基于IIS的ARR负载均衡详解

windows第七层负载均衡_基于IIS的ARR负载均衡详解

下面分享一个基于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负载均衡的详细讲解就是边肖分享的全部内容。希望能给你一个参考,多多支持我们。

windows第七层负载均衡_基于IIS的ARR负载均衡详解