IIS负载均衡ARR路由请求到ARR服务器和处理服务器

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

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

我们的ARR服务器配置很好,只做ARR服务器有点浪费,为了实现高并发访问,我想ARR服务器做ARR服务的同时做应用程序服务器,即替ServerFarm中的服务器承担工作量。网上搜索了很多资料说是无法实现,但经我摸索通过配置url rewrite规则实现了我的需求。假定ARR服务器以80端口对外提供服务,ARR接收到80端口请求后,也会根据负载均衡规则转发请求给自己的8080端口上的web应用进行处理请求或者其他服务的8080端口上的web应用。实现大致步骤

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

ServerFarm列表

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

实现后部署图如下图示

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

ARR服务器一般可以作为web 静态资源(js、图片等)服务器,通过配置url 重写规则,静态资源请求ARR予以处理,不再转发给其它服务器

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

使用ARR后各负载服务器上的web应用文件不一致的问题(如服务器b上上传了部分图片在自己Upload文件夹里,服务器c上传了部分图片在自己的Upload文件夹里,但是用户访问服务器b请求图片可能在服务器b上时,服务器a返回FileNotFound等类似的问题),解决方法:文件上传统一放到一台文件服务器上(如服务器a),各个服务器上面的web应用通过配置虚拟目录指向统一的文件服务器目前,这样上传、读取都在统一的文件服务a上面,不会出现各个web应用各自只有自己的文件没有其他服务器文件的问题。

时间: 2024-10-09 15:29:46

IIS负载均衡ARR路由请求到ARR服务器和处理服务器的相关文章

IIS负载均衡

在大型Web应用系统中,由于请求的数据量过大以及并发的因素,导致Web系统会出现宕机的现象,解决这一类问题的方法我个人觉得主要在以下几个方面: 1.IIS 负载均衡. 2.数据库 负载均衡. 3.系统架构优化,比如报表服务器和应用服务器分开等. 本文主要介绍以下IIS负载均衡的实现方法,作者也是慢慢摸索的,如有不当之处还请各位大神指点以下,以求共同进步!! 演示环境介绍: Server 1: 18.13 (用来分流的IIS服务器). Server 1: 18.49 (用来分流的IIS服务器).

IIS 负载均衡

春节将至,在此祝愿各位园友春节愉快!新年大吉!万事如意!!! 在大型Web应用系统中,由于请求的数据量过大以及并发的因素,导致Web系统会出现宕机的现象,解决这一类问题的方法我个人觉得主要在以下几个方面: 1.IIS 负载均衡. 2.数据库 负载均衡. 3.系统架构优化,比如报表服务器和应用服务器分开等. 本文主要介绍以下IIS负载均衡的实现方法,作者也是慢慢摸索的,如有不当之处还请各位大神指点以下,以求共同进步!! 演示环境介绍: Server 1: 18.13 (用来分流的IIS服务器).

IIS负载均衡(转)

在大型Web应用系统中,由于请求的数据量过大以及并发的因素,导致Web系统会出现宕机的现象,解决这一类问题的方法我个人觉得主要在以下几个方面: 1.IIS 负载均衡. 2.数据库 负载均衡. 3.系统架构优化,比如报表服务器和应用服务器分开等. 本文主要介绍以下IIS负载均衡的实现方法,作者也是慢慢摸索的,如有不当之处还请各位大神指点以下,以求共同进步!! 演示环境介绍: Server 1: 18.13 (用来分流的IIS服务器). Server 1: 18.49 (用来分流的IIS服务器).

大流量IIS负载均衡NLB解决方案

说白了就是  用多台WEB服务器   同时处理大量的http请求! 机器越多力量越大呵呵!!! 在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题. 那么,有没有一个办法或者技术来解决此类问题呢?使用Windows 2000或Windows Server 2003中的网络负载平衡群集就可以(本文将介绍Windows Server 2003中的网络负载平衡技术的实现方法). 一.网络负载平衡的优点 1.网络负载平衡允许你将传入的请求传播到最多达32台的

根据DNS的A记录负载均衡web服务请求

做为论坛站点:有两种类型的数据要处理:  1.结构化的数据:  如:用户名.用户发表的评论等,这些可以存储在关系型数据库中:  2.非结构化的数据:如:用户上传的附件.则存储到文件系统中. 论坛的架构: 使用两台httpd服务器来服务用户的访问请求.使用DNS的A记录做客户访问轮循到这两台服务器上.php做为httpd的模块工作. 论坛架构如下图所示: 一.搭建NFS文件共享服务器. 要点:保证192.168.60.99与192.168.60.40两台httpd服务器的进程能够往共享文件系统(目

前端通信:ajax设计方案(七)--- 增加请求错误监控、前端负载均衡以、请求宕机切换以及迭代问题修复

距离上个迭代过了很长时间,中间经历了很多事情,也在每个空余时间构思了这个迭代的东西以及下个迭代要做的东西.时间周期稍微长了,望见谅. 首先解决了上个迭代遇到的问题进行完善和修复: 1. 上个迭代做ajax timeout设置的时候,手抖将timeout不小心设置成timeoutEvent,这期做了修复 2. 解决全局配置中配置额外参数,批量检查时会参数错误问题. 引入新的功能: 1. 增加浏览器发送请求的错误监控和搜集 应用场景: 前端开发依赖的东西比较多,比如宿主环境(浏览器).以及数据接口(

.NET开发框架(六)-架构设计之IIS负载均衡(视频)

前面有关注我们公众号文章的朋友应该都知道,我们的分布式应用服务可以通过Ocelot网关进行负载均衡,这种方式属于应用级别的实现. 而今天我们给大家介绍的是平台级别的实现,并且我们首次使用视频方式进行讲解. 本文通过视频方式为大家演示,如何使用Windows平台下的IIS进行负载均衡. IIS中的这种实现方式成为APR (Application Request Router + Web Farm + Url Rewriter) 所谓的“Web Fram”,就是将应用程序部署到多台服务器,从而达到分

keepalived+LVS 实现双机热备、负载均衡、失效转移 高性能 高可用 高伸缩性 服务器集群

本章笔者亲自动手,使用LVS技术实现实现一个可以支持庞大访问量.高可用性.高伸缩性的服务器集群 在读本章之前,可能有不少读者尚未使用该技术,或者部分读者使用Nginx实现应用层的负载均衡.这里大家都可以阅读本章,即使部分读者使用Nginx负载均衡,但是在大流量下性能相对于工作在链路层的LVS真是不能同日而语,并且LVS不仅可以实现WEB方面的负载均衡,其他诸如数据库.FTP.Mail等都可以实现. 通常对于小型网站,很多都使用单台服务器,顶多在弄个缓存服务器.数据库服务器.但是一旦流量上来,单台

IIS负载均衡的NLB解决方案

在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题.那么,有没有一个办法或者技术来解决此类问题呢?使用Windows 2000或Windows Server 2003中的网络负载平衡群集就可以(本文将介绍Windows Server 2003中的网络负载平衡技术的实现方法). 一.网络负载平衡的优点1.网络负载平衡允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服务器共同分担对外的网络请求服务.网络负载平衡技术保证即使是在负载很重