• IIS负载均衡Application Request Route 安装配置说明(ARR)


    1 ARR介绍

    ApplicationRequest Route(后面简称为ARR)是一个寄宿于IIS7(及以后的IIS版本)的一个基于代理的模块,它可以通过判断Http Headers,Server Variables以及负载均衡算法将HTTP的请求转发到不同的处理服务器之上。ARR的用处如下:

    1. 增强应用的可用性与扩展性
    2. 更好的利用服务器资源
    3. 使得应用程序的部署更加方便,并且支持卫星部署管理与热替换

    ARR是基于URLRewrite Module的,它通过检测客户端发来的HTTP请求来做出请求路由的决定。

     

    参考链接:

    https://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA==&mid=2654067559&idx=2&sn=467c3d92089124480fdb62584857e807&scene=21#wechat_redirect

       文章是连载,文末有前面几章的链接。文章中讲的2.5版本,目前最新版是3.0,本文也用3.0安装搭建ARR环境;

    2   安装

    官网下载地址:

    https://www.iis.net/downloads/microsoft/application-request-routing

    官网是用Web平台安装程序,按照提示安装即可。

    脚本之家下载地址:

    https://www.jb51.net/softs/629246.html

    下载后有3个依赖项和ARR需要安装。

    以下是脚本之家下载的安装说明

    2.1 停止服务

       打开cmd命令行,分别执行net stop was /y和net stop wmsvc /y,一般第二个没有开启。

    2.2 手动安装ARR及其依赖项

    1. webfarm_v1.1_amd64_en_us.msi
    2. ExternalDiskCache_amd64_en-US.msi
    3. rewrite_amd64_en-US.msi
    4. requestRouter_amd64.msi

    按照提示安装即可。

    2.3 启动服务

    打开cmd命令行,分别执行net start was和net start wmsvc  

    3  创建Server Farm

    ApplicationRequest Route模块的使用是和Server Farm模块结合在一起的,只有先创建了Server Farm,才能开始使用Application Request Route进行HTTP请求路由。ServerFarm简而言之就是:对一个或者多个服务器的逻辑分组,便于管理,HTTP请求路由等。

    3.1 新建ServerFarm

    打开IIS管理器,在右侧可以看到Server Farm项,右键,点击Create Server Farm,输入自定义Farm名称;online:勾选即为开启Server Farm。

     

     

     

    3.2 添加应用服务地址

     点击“下一步”,添加应用服务地址

     Server address:填写应用服务的IP(如:192.168.1.112)或域名(www.XXXXX.com

      Advanced setting:点击打开配置项,点击applicationrequest routing前的加号,设置服务参数

     

     

     如果http端口不是默认端口80,修改httpPort项(如:8000),修改后点击“Add”,一定要先修改端口,再点“Add”;weight为权重值,用于负载均衡运算分发,暂时默认即可。

     

     添加后,在服务列表中可以看到添加的服务,点击“完成”:

     

     点击“完成”后,弹出是否创建于此Server Farm关联的URL 重写规则,点击“是”。

     

      完成后可以在IIS中看到新建的Server Farm,可以添加、移除、下线、上线应用服务。

     

    服务器运行状况监控

         ARR可以配置通过发送GET请求来检测ServerFarm中的服务器是状态良好的。这个原理和我们时不时的ping一个电脑,来判断其是否还可以连接一样。 

    我们可以在在每个站点中放置一个文件(任意IIS允许请求的文件,例如txt,html,aspx页面等,不能是.config等文件,例如:http://localhost/a.txt,(因接收请求的是ARR服务器本地,所以用localhost即可)在文本中写一段文本,如:AAA,

    打开IIS管理器,点击左侧Server Farm=》ARREIM,点击右侧“Health Test”,打开健康测试模块:

     

    配置如下:

     

     ARR会每隔30秒(Interval)就去请求一次,然后比较请求的响应是否是“AAA”,从而判断服务器是否状态良好。

    点击 Verify URL Test,可以测试当前在线服务器的状态,如果正常Result、Details都显示Pass;如果异常,Result显示Fail,Details显示异常信息。

     

    5  选择负载均衡算法

    打开“Load Balance”

     

     

     Weighted round robin:加权循环,根据传入请求的数量及其标准化权重分配流量。每个服务器都可以接收相同的请求分发或自定义分发。

    Server variable hash:服务器变量哈希,根据服务器变量的hash来分配请求,这里面的服务器变量包括Cookie, URL,头信息等。

    Query string hash:查询字符串哈希,根据URL查询字符串的hash来分配请求,如果查询字符串包含多个参数(?name=jesse&location=sh),则是用整个查询字符串的hash来作判断。

    Request hash:请求哈希,根据服务器变量或者是URL的hash来分配请求,比如说服务器变量是QUERY_STRING,那么hash的值就是query string中对应的那个值。

    默认Weighted round robin:加权循环,按照权重设置分发请求,如:现有两台应用服务器B、C,B权重100,C权重100,则两台应用服务器平均分发;B权重100,C权重300,则1/4请求分发给B,3/4请求分发给C。

    6  监控和管理

    在Server Farm页,打开“Monitoring and Management”,可以查看各应用服务的健康状态、请求分布及数量、请求响应时间、请求大小、权重等信息。

     

     

     选中一个应用服务,点击右侧按钮或者右键,可以重置统计信息、停止服务、禁止连接等

     

    7  负载均衡器也做应用服务器

    按照上面服务器设置,网络拓扑图如下图:

     有时一台服务器只当做负载均衡器,ARR服务占用系统资源很少,设备利用率较低,浪费资源。我们可以将负载均衡服务器也作为一台应用服务器运行。改在为下图结构:

     

    7.1 添加ARR本地应用服务

    添加ARR本地应用服务时,IP填写127.0.0.1,端口设置为8000,

     

    7.2 修改Server Farm对应的URL重写规则

    打开IIS管理器,在主页IIS下找到“URL 重写”,双击打开

     

     打开URL重写可以看到Server Farm对应的重写规则,选中,右键,条件=》添加,

     

     

     “条件输入”框中输入{SERVER_PORT},“检查输入字符串是否”选择“与模式匹配”,“模式”中输入80,点“确定”

     

    7.3 ARR服务器多应用服务站点

    如果ARR服务器本地需要部署多个应用服务站点,需要在C:WindowsSystem32driversetchosts文件末尾添加映射,如:

    127.0.0.1 site1

    127.0.0.1 site2

  • 相关阅读:
    20145325张梓靖 《Java程序设计》第9周学习总结
    20145325张梓靖 实验四 "Andoid开发基础"
    20145325张梓靖 《Java程序设计》第8周学习总结
    20145307《信息安全系统设计基础》第7周学习总结
    20145307《信息安全系统设计基础》第六周学习总结
    Y86模拟器安装
    20145307《信息安全系统设计基础》第五周学习总结PT2
    git失败案例
    20145307陈俊达《信息安全系统设计基础》第5周学习总结PT1
    20145307陈俊达《信息安全系统设计基础》第3周学习总结
  • 原文地址:https://www.cnblogs.com/wsgm/p/14769406.html
Copyright © 2020-2023  润新知