windows第七层负载均衡

作者: 日期:2019-10-08

载均衡有很多种方法,有硬件负载均衡,软件负载均衡,还可以从域名解析下手。

不过,今天只讲软件负载均衡。

软件负载均衡一般分两种,从网络协议来讲,主要集中在第四层和第七层进行负载均衡。

第四层就是基于ip进行负载均衡。后面还有一篇文章讲这个。

第七层就是应用层。比如各种的web服务器。今天就讲讲iis的负载均衡。

第七层的web负载均衡,很多web服务器都支持,比如iis,nginx,apache等。现在主要讲一下windosw下iis如何使用负载均衡

iis使用arr反向代理,实现负载均衡

什么是正向代理?

代理服务器大家可能听说过,比如我们说的“科学上网”。就是使用代理服务器,请求经过代理服务器转到目的服务器。这是一个正向代理。用户知道自己使用代理,并且充许用户隐藏客户端自身。

什么是反向代理?

请求同样经过代理服务器转到目的服务器,目的服务器返回给代理服器,代理返回给客户端。不同的时候,客户并不知道,访问的是一个代理服务器。客户认为他在访问目的服务器。

两者的区别基本在于,正向代理是发生在客户端。反向代理是发生在服务端。

首先,我们先安装一个web平台安装程序

打开web平台安装程序,搜索arr

写webapi程序

[route]
public class homecontroller : controller
 // get: api/ controller 
 [httpget,route]
 public async task actionresult getuserchat
 var collection = new mongohelper.getcollection oachat ;
 var chatitems =await collection.find.limit.tolistasync;
 return apijsonformat.getjsonresult;
}

返回结果

{"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":"会厌结核有机会好好","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}]}

//设置arr

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 运行环境

dotnetcore.2.0.5-windowshosting 安装包内置sdk和windowshosting,直接安装这个,安装成功之后,要重启服务器才能生效。然后部署web就可以访问了

选择无托管代码

好,部署成功之后,可以正常访问了

好,马上试一下部署arr,是否能实现反向代理

添加一个入口站点,默认端80。

非常简单数据出来啦。理论就搭建成功了。

192.168.99.5 的站点,还有两个地方要注意设置

iis程序池的队列长度。由于这是代理服务器很多请求都会经过这个站点,所以这个长度就设置长一点。默认值是1000。

iis程序池的闲置超时。设置为0,将长期保持不回收状态。

转化服务器的网卡要目的服务器的网卡要好,这样能支撑更大的流量需求。

下面把一些细节介绍一下,然后做一下压力测试,就大功告成啦。

安装arr完成之后,会出现两个

url重写充许你定则重写规则,我没怎么用过,特么不嫌麻烦。这就不细讲了。

server farms可以对你的集群进行管理,健康检查,转化统计。

分别对应的是:缓存,健康检查,负载均衡,监视和管理,代理,路由规则,服务器相关性

健康检查:主要是检查各个服务器的iis是否正常运作。

负载均衡:主要作用是设置各种分发规则。比如根据权重,最小响应时间,最小请求量等

监视和管理:主要让你看到各个服务器的健康情况,请求量,失败量,缓存命中率等。

服务器相关性:主要提供一种服务器和客户端之间的粘性。简单理解就是,客户端a的请求分配到服务器b处理之后,以后客户端a的请求都分配到服务器b处理。

client affinity: 根据客户端的cookies处理粘性

host name affinity 根据host name处理粘性

下面试一下压力测试,用大微软的vs2017进行压力测试,细节我就不讲了,贴了一些结果吧。

在测试过的过程中,经常现一个502.3 timeout errors的问题,是arr3.0的问题,换回arr2.0 版本之后,就正常了。

启动性能监视器,统计每秒请求数,也与压力测试的结果吻合。每秒358次。

arr测试到止结束,下班。

以上这篇windows第七层负载均衡_基于iis的arr负载均衡详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持萬仟网。

首页
电话
短信
联系