在大型Web应用系统中,由于请求的数据量过大以及并发的因素,导致Web系统会出现宕机的现象,解决这一类问题的方法我个人觉得主要在以下几个方面:

1.IIS 负载均衡。

2.数据库 负载均衡。

3.系统架构优化,比如报表服务器和应用服务器分开等。

本文主要介绍以下IIS负载均衡的实现方法,作者也是慢慢摸索的,如有不当之处还请各位大神指点以下,以求共同进步!!

演示环境介绍:

Server 1: 18.13 (用来分流的IIS服务器)。

Server 1: 18.49 (用来分流的IIS服务器)。

Server 1: 50.32 (用户所访问的服务器)。

用来演示的网站:一个名为WebTest的网站,内容就是一张图片,足以达到演示效果。

安装Server Farms ,如下图所示:

整个安装步骤非常简单,跟着提示走即可,安装完成之后在IIS里面可以看到Server Farms的项目了,如下图所示:

现在我们通过Server Farms 来创建Server,如下图所示:

有多少个IIS服务器就创建多少个,我这里创建了2个,创建完成之后可以在“运行状态测试”中进行测试,如下:

Server Farms判断目标IIS服务器是否正常,是通过目标服务器里面的某一个文件返回的数据来判断的,具体配置如下所示,health.txt是用来作为验证的一个文件,里面的内容是OK,那么如果这个文件返回的数据是OK,Server Farms则会判断该服务器为正常状态,反之则不正常:

对于如何去平衡服务器的压力,Server Farms已经提供了一些算法,具体如截图所示,这里不做详细的介绍,大家有兴趣的话可以逐个测试一下,

两台IIS服务器验证成功,说明我们的配置是正确的,下一步我们来测试一下:我直接访问50.32服务器,这个时候呈现出来的页面是18.49这个服务器上面的图片。

OK,现在我将18.49这台服务器的IIS停止掉,如下图所示:

当18.49这台服务器的IIS停止以后,我们再次查看Server Farms里面的服务器状态,如下图所示:

当18.49挂了之后,我们再次访问50.32服务器,结果出来了:

结论:当配置了多台IIS服务器之后,根据我们定义的均衡规则和算法,它会自动为我们协调和分配当前的请求来达到分流的目的,上面的演示中,当18.49无法访问的时候,自动贝切换到了18.13服务器。

PS:虽然是不同的服务器,呈现出来不同的内容,这里我是为了便于查看效果,所以采用的不同的图片来显示,不然不容易区分。

配置IIS的负载均衡的更多相关文章

  1. asp.net中 使用Nginx 配置 IIS站点负载均衡

    这是一偏初学者入门的内容,发现有问题的地方,欢迎留言,一起学习,一起进步 本文主要记录一下在Windows平台中,IIS站点如何使用Nginx 做一个简单的负载均衡  一. 准备工作: 官网下载安装包 ...

  2. Nginx + IIS 配置,实现负载均衡

    当你的Web应用程序访问量大的时候,一台服务器可能会因为压力过大而无法处理所有的请求.此时,可以增加服务器,采用负载均衡来分担所有的请求.关于Nginx的作用,自行百度了解.总之,在Windows平台 ...

  3. 配置nginx实现windows/iis应用负载均衡(转载)

    配置nginx实现windows/iis应用负载均衡   nginx是俄罗斯人开发的一款跨平台的高性能HTTP和反向代理服务器,可以利用它实现web应用服务器的负载均衡. 反向代理是指将用户请求通过代 ...

  4. windows配置nginx实现负载均衡集群

    windows配置nginx实现负载均衡集群2014-08-20 09:44:40   来源:www.abcde.cn   评论:0 点击:617 网上大部分关于nginx负载均衡集群的教程都是lin ...

  5. 转】Nginx+tomcat配置集群负载均衡

    原博文出自于:http://blog.csdn.net/bruce_6/article/details/38228299         感谢! 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食 ...

  6. windows配置nginx实现负载均衡集群 -请求分流

    windows配置nginx实现负载均衡集群 一.windows上安装nginx 1.下载nginx的windows版本http://nginx.org/en/download.html 2.把压缩文 ...

  7. IIS搭建负载均衡WebFarm+Arr

    本文所述仅针对IIS7.0或更高版本 一.IIS简介 IIS( Internet Information Services),微软官方Windows平台上面web容器服务.支持http协议和ftp协议 ...

  8. Docker+nginx+tomcat7配置简单的负载均衡

    本文为原创,原始地址为:http://www.cnblogs.com/fengzheng/p/4995513.html 本文介绍在Docker上配置简单的负载均衡,宿主机为Ubuntu 14.04.2 ...

  9. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

随机推荐

  1. idea执行mapreduce报错 Could not locate Hadoop executable: C:\hadoop-3.1.1\bin\winutils.exe

    window执行mapreduce报错 Exception in thread "main" java.lang.RuntimeException: java.io.FileNot ...

  2. 【慕课网实战】Spark Streaming实时流处理项目实战笔记十三之铭文升级版

    铭文一级: 第10章 Spark Streaming整合Kafka spark-submit \--class com.imooc.spark.KafkaReceiverWordCount \--ma ...

  3. Beta冲刺 (5/7)

    Part.1 开篇 队名:彳艮彳亍团队 组长博客:戳我进入 作业博客:班级博客本次作业的链接 Part.2 成员汇报 组员1(组长)柯奇豪 过去两天完成了哪些任务 共享编辑文章的后端数据处理 部分代码 ...

  4. 利用ADO打开Access数据(64位系统)

    64位的access一定要用64的程序才能正确打开,仍然用"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Test.accdb;Persist ...

  5. 不修改模板的前提下修改VisualState中的某些值

    原文链接:不修改模板的前提下修改VisualState中的某些值 - 超威蓝火 UWP里有一件非常令人不爽的事,大部分控件只提供了Normal状态下的Background,Foreground,Bor ...

  6. turtle库实现汉诺塔

    import turtleturtle.screensize(800,800) class Stack: def __init__(self): self.items = [] def isEmpty ...

  7. mybatis 控制台打印sql语句

    其实很简单,打印SQL只需要加一个setting就可以了.亲测可用. mybatis-config.xml: <settings>        <setting name=&quo ...

  8. CentOS防火墙配置

    1.查询防火墙状态 service iptables status 2.开启防火墙 service iptables start 3.关闭防火墙 service iptables stop 4.重启防 ...

  9. Java学习笔记46(多线程三:线程之间的通信)

    多个线程在处理同一个资源,但是线程的任务却不相同,通过一定的手段使各个线程能有效地利用资源, 这种手段即:等待唤醒机制,又称作线程之间的通信 涉及到的方法:wait(),notify() 示例: 两个 ...

  10. [CocoaPods]使用Gemfile

    RubyGems + Bundler 对于许多人来说,CocoaPods是编程项目中依赖管理的第一个介绍.CocoaPods的很多想法来自类似的项目(例如RubyGems,Bundler,npm和Gr ...