• IIS负载均衡ARR前端请求到本地服务器和后端处理服务器


    net web 使用IIS ARR(Application Request Route)技术实现web的高性能、高可靠、易扩展及负载均衡。

      一般应用场景见下图所示,其中一台服务器只做ARR服务器,接受客户端发来的请求,根据配置的负载均衡算法,把请求转发给真正的请求处理服务器,如下图ServerFarm中的服务器B或C,由服务器B或服务器C来处理请求把处理结果返回给ARR服务器A,ARR服务器再把处理结果返回客户端。

    wKioL1eErq7gWZZ_AADjzcsrV6o001.jpg-wh_50

       我们的ARR服务器配置很好,只做ARR服务器有点浪费,为了实现高并发访问,我想ARR服务器做ARR服务的同时做应用程序服务器,即替ServerFarm中的服务器承担工作量。网上搜索了很多资料说是无法实现,但经我摸索通过配置ARR 里routing rules选项的url rewrite规则实现了我的需求。假定ARR服务器以80端口对外提供服务,ARR接收到80端口请求后,也会根据负载均衡规则转发请求给自己的8080端口上的web应用进行处理请求或者其他服务的8080端口上的web应用。【注:该设置下,ARR服务器要保留一个80端口的站点用作对外访问(该站点什么内容都成,不会被访问到,只提供80端口服务),在新建一个端口为8080的站点作为web应用】实现大致步骤

      1、ServerFarm中添加ARR服务器作为负载均衡服务器,注意端口

    wKiom1eEro-CA7oQAAIGUXg5PUo123.jpg-wh_50

      ServerFarm列表

    wKiom1eErnWAjFLrAAGTinYmxIk111.jpg-wh_50

      2、url rewrite规则配置,ARR服务器指定端口的http请求会被转发给ServerFarm中的服务器

    wKioL1eErcrQmb6IAAM67eZs-oE877.jpg-wh_50

    wKioL1eErgCTX15AAAIYzo_SkUY803.jpg-wh_50

     实现后部署图如下图示

    wKiom1eErljB65qJAAGNUfiaKBg473.jpg-wh_50

      使用ARR后的一些问题及解决:

      1、使用ARR后,Session不要选择在进程中存储,需要选择使用 StateServer方式或SqlServer存储。如果坚持在进程中存储的话,可用选择使用客户端亲缘性(Client affinity),即客户所有的请求都有相同的服务器进行响应,不会转发到其它服务器,这牺牲了可靠性,当这台服务器挂掉时,请求无法被转发到其它服务器进行服务,结果就是客户端请求无响应。 详见:IIS应用程序池多工作进程设置及Session共享

      2、打开Caching,把Enable disk cache勾取消,点击应用

     3、打开Proxy,将Time-out时间设置到200

     4、打开Routing Rules,将Enable SSL offloading前面的勾去掉

  • 相关阅读:
    HttpServlet
    Servlet练习和自定义GenericServlet实现类
    Servlet-ServletRequest
    HTTP协议-GET/POST请求
    Servlet-ServletConfig对象
    Servlet
    1089. Duplicate Zeros
    1002. Find Common Characters
    17. Letter Combinations of a Phone Number
    254. Factor Combinations
  • 原文地址:https://www.cnblogs.com/guohu/p/14492507.html
Copyright © 2020-2023  润新知