IIS负载均衡-Application Request Route详解第五篇:使用ARR来配置试点项目

        看到本篇的题目,大家可能感到有点奇怪!下面,我们就来看看这到底是什么意思。

        大家可能遇到过这样的一种情况:希望根据某些请求用户的特性,将用户的请求导向不同的站点(请大家这里区分“亲缘性”的概念,这里不是“亲缘性”)。如果说,大家还不是很明确,那么我们就举个例子:如果发出请求的用户用的是IE浏览器,那么我们就将他们的请求发送到A服务器上的站点,如果用户用的是Firefox浏览器,那么我们就将请求转发到B服务器。

        总结一句话:根据用户的特性来,按照我们的意愿来处理不同特性的请求。

        我们完全可以把ARR的这个特性使用的更加灵活,例如,如果用户请求的是文件,那么,我们就像将其转发给文件服务器;再如,如果此时我们的站点是Beta版本的,我们所有的请求用服务器A来处理,等到以后站点稳定之后,我们就用服务器B上的站点来处理请求,等等。

        正如之前一样,我们首先来准备一些环境,便于测试!

        首先,希望使用IIS 7(及以上版本),并且安装ARR,大家可以参看之前的系列文章。

        其次,准备好一台服务器(虚拟机也可以)。

        再次,我们在服务器上部署两个站点:pilotSiteproductionSite

        我们本次的目的就是:如果发送请求的客户端安装了.NETFramework 3.5 并且还是用的是IE浏览器,那么,我们就将请求发送给pilotSite,否则就发送给productionSite,并且两个不同的站点分别位于不同的两个Server Farm中(当然,我们可以在每个Farm中加入更多的站点)。

        下面,我们就开始具体的操作。

1.      IIS中部署两个站点(我们分别将其部署在不同的端口,如果愿意,大家完全可以将其分别放在两台不同的服务器上)如下图:


                           

2.      创建两个Server Farm,分别名为:pilotSiteServers,和productionSiteServers,如下:


3.      选中pilotSiteServers,然后双击“Routing Rules”,得到如下图:


因为这里需要涉及到了使用多个Server Farm来匹配不同的请求,所以,需要配置与URL Rewrite

 

4.      点击了“URL Rewrite…”之后,看到如下的界面:


我们可以看到,现在已经有了两条URL Rewrite规则,因为此时,我们需要根据特定的用户信息来转发请求,所以,我们要修改默认的规则:

a.      我们要确保“ARR_pilotSiteServers_loadbalance”在上面,而“ARR_productionSiteServers_loadbalance”在下面,如果不是,可以点击“Move Up”和“Move Down”来调整,如下:


b.      选择“ARR_pilotSiteServers_loadbalance”,然后点击“Edit”开始编辑。此时看到的界面如下:


c.       按照我们之前的需求:客户端安装了.NET 3.5 并且使用IE浏览器的请求都被转发给pilotSiteServers来处理,所以,我们开始添加我们的一些过滤的规则,点击“Add Conditions”,然后点击“Add…”,如下图:

 

d.      添加“{HTTP_USER_AGENT}”,然后在Pattern添加“*MSIE*”,如图:


e.      然后,我们在添加另外一个规则(.NET 3.5的那个),操作和上面的类似,如图:


f.       添加完了两个过滤规则之后,然后不勾选Stop processing ofsubsequent rules”,然后点击“Apply”,如图:

 

到这里就可以运行站点了。

        建议大家将两个站点部署在不同的服务器上面,因为我在测试的过程中发现:将两个放在一台服务器上面,总是报错,分开就好了!

相关内容

  • 构建高性能.NET应用之配置高可用IIS服务器-第一篇:IIS必须掌握的知识

  • 构建高性能.NET应用之配置高可用IIS服务器-第二篇 IIS请求处理模型

  • 构建高性能.NET应用之配置高可用IIS服务器-第三篇 IIS中三个核心组件的讲解(上)

  • 构建高性能.NET应用之配置高可用IIS服务器-第四篇 IIS常见问题之:工作进程回收机制(上)

  • 构建高性能.NET应用之配高可用IIS服务器-第五篇 IIS常见问题之:工作进程回收机制(中)

  • IIS负载均衡-Application Request Route详解第一篇: ARR介绍

  • IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm

  • IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡

  • IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构


作者介绍:汪洋,哪合伙CEO,曾大汉电子商务有限公司首席技术官,副总裁,负责公司产品、技术、运营,参与商业模式设计。华康移动医疗前CTO,副总裁,首席架构师。微软MVP


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle入门(十四.23)之管理触发器

一、触发器需要特权要在模式中创建触发器,需要: •CREATE TRIGGER系统特权 •触发器主体中引用的其他架构中的对象的普通对象特权(SELECT,UPDATE,EXECUTE等) •与触发器关联的表或视图上的ALTER特权。触发器…

为什么哲学是最难的学科_什么是哲学哲学对大师来说可能非常理论化,没有一定哲学基础肯能很难 爱问知识人...

我的总结是科学哲学是从哲学角度考察科学的一门学科。它以科学活动和科学理论为研究对象,探讨科学的本质、科学知识的获得和检验、科学的逻辑结构等有关科学认识论和科学方法论的基本问题。哲学是什么?这是一个问题,一个既简单又复杂的问题。…

8.es更新文档通过版本号实现并发控制

【README】 1.本文介绍了es更新文档时的并发控制策略;2.通过版本号实现并发控制(类似于mysql中基于版本号的乐观锁);3.Es为支持并发控制,为每篇文章设置了版本号_version。初始值为1,每更新1次加1。…

Oracle入门(十五)之数据库锁

一、锁的概念 锁是数据库用来控制共享资源并发访问的机制。锁用于保护正在被修改的数据直到提交或回滚了事务之后,其他用户才可以更新数据二、锁定的优点 一致性 - 一次只允许一个用户修改数据完整性 - 为所有用户提供正确的数据。如果一个用户进行了修改并保存&a…

.NET 和 Mono 的一点历史

提到微软公司研发 .NET Framework 的初衷,难免要提到 SUN 公司1995年推出的 Java 语言。由于 Java 在业界得到了广泛的支持而且迅速建立了庞大的生态系统,微软也不得不考虑如何加以应对,毕竟自己手里的 Visual Basic 和 Visual C 和 Java 一比…

lisp 角平分线_证明冯奥贝尔定理的3种方法

怎样证明冯奥贝尔定理?Von.Aubel定理: 以任意四边形ABCD的边为斜边作四个转向相同的等腰直角三角形ΔABE,ΔBCF,ΔCDG,ΔDAH。则:EGFH,EG⊥FH。关于上述定理的几点说明:(1),条件是任意四边形,所…

java迭代实现二叉树先中后序遍历(非递归)

【README】 本文复习了通过java迭代实现 二叉树先序,中序,后序遍历; 本文引入了 栈,替换了递归,对二叉树进行遍历; 补充:使用递归遍历二叉树缺点: 众所周知,每次递归…

漫画:什么是分布式锁

转载自 漫画:什么是分布式锁分布式锁的实现有哪些?1.Memcached分布式锁利用Memcached的add命令。此命令是原子性操作,只有在key不存在的情况下,才能add成功,也就意味着线程得到了锁。2.Redis分布式锁和Memcached的方式…

程序员求职面试三部曲之一:选择合适的工作单位

前不久在知乎上看到一个话题,大概是说中国比国外好的有哪些方面,网友们例举了一大堆,其中有一条是说“在中国找工作比较容易”。 是的,特别对于我们IT从业者来说,找工作真的是小菜一碟;只要肯在网络上公开简…

处理api返回的数据_API 乐队指挥家,网关服务正式上线

随着知晓云小伙伴们业务的发展,对我们服务的支持又有了新的要求,比如在对接第三方服务时,需要自定义数据结构等。为此,经过 32 次的需求讨论会以及工程师们的紧张开发后,知晓云 API 网关诞生了。你可以通过可视化界面配…

数据结构排序总结

【0】README 0.1) 本文总结于 数据结构与算法分析个人的学习心得体会,源代码均为原创; 0.2) 本文列出了数据结构中基本上所有的数据结构排序算法, 整理了相关的博文(源代码); 0.3…

IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR

失败请求跟踪规则(FailedRequest Tracing Rules)是IIS7中对请求处理进行诊断的强大的工具。我们本篇文章将会带领大家一步步的来配置失败请求跟踪规则,并且告诉大家如何使用这些信息来诊断ARR。 要真正的理解本篇文章要讲述的知识&#xff0c…

减一天 日期函数_一文掌握excel中的日期函数

在excel中,因为日期的特殊性,大部分关于日期的运算都要用到特有的函数。对于大多数小伙伴们可能没有专门去学习过日期函数都有哪些?如何运用?可以实现什么样的功能?今天小编就为大家整理出来并详细介绍一下常用的日期函…

软件开发的微信公众号分享

一、已阅 (1)程序员面试(mvpjob)(2)程序员小灰(chengxuyuanxiaohui)(3)Hollis(hollischuang)(4)Java技术栈&am…

算法递归简论

【0】README 0.1) 本文总结于 数据结构与算法分析,旨在了解设计 递归程序 的相关法则和技巧; 0.2) 我记忆尤新的一点是: 凡事可以用循环代替的递归函数,它就不是一个好的递归函数,对我帮助很大…

python三维矩阵可视化_科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数)...

Mlab了解Mlab是Mayavi提供的面向脚本的api,他可以实现快速的三维可视化,Mayavi可以通过Mlab的绘图函数对Numpy数组建立可视化。过程为:.建立数据源.使用Filter(可选)对数据进行加工.添加可视化模块,我们可以通过修改可视化模块的属…

程序员求职面试三部曲之二:提高面试的成功率

一、选择有招聘诚意的企业 一则好的招聘信息应该是准确、清晰和真实的。任何夸大宣传、提供虚假信息的企业都可以认为缺乏招聘诚意。 我们通过解读企业的招聘信息,主观上能够判断这家企业是否很有招聘诚意,我觉得主要体现为以下两个方面: 1.、…

秒杀系统设计的 5 个要点:前端三板斧+后端两条路

转载自 秒杀系统设计的 5 个要点:前端三板斧+后端两条路高并发,cache,锁机制基于缓存架构redis,Memcached的先进先出队列。稍微大一点的秒杀,肯定是分布式的集群的,并发来自于多个节点的JVM,syn…

http响应消息的响应状态码和意义

200:表示一切正常;400:无效请求,指出客户机请求中有不正确的语法格式;404:找不到, 服务器上不存在客户机所请求的资源;(常见状态码)405:不允许此请…

python网络模块_Python的pyroute2网络模块-阿里云开发者社区

Pyroute2是纯python的netlink库,只需要python标准库不需要其他第三方的库。最常用的是监控事件,例如监控磁盘空间事件:from pyroute2 import DQuotSocketwith DQuotSocket() as ds:for messagein ds.get():print(message)或者监控IP路由from …