大流量IIS负载均衡NLB解决方案
说白了就是 用多台WEB服务器 同时处理大量的http请求! 机器越多力量越大呵呵!!!
在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题。
那么,有没有一个办法或者技术来解决此类问题呢?使用Windows 2000或Windows Server 2003中的网络负载平衡群集就可以(本文将介绍Windows Server 2003中的网络负载平衡技术的实现方法)。
一、网络负载平衡的优点
1.网络负载平衡允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服务器共同分担对外的网络请求服务。网络负载平衡技术保证即使是在负载很重的情况下它们也能作出快速响应。
2.网络负载平衡对外只须提供一个IP地址(或域名)。
3.如果网络负载平衡中的一台或几台服务器不可用时,服务不会中断。网络负载平衡自动检测到服务器不可用时,能够迅速在剩余的服务器中重新指派客户机通讯。此保护措施能够帮助你为关键的业务程序提供不中断的服务。可以根据网络访问量的增多来增加网络负载平衡服务器的数量。
4.网络负载平衡可在普通的计算机上实现。
二:过程规划
环境结构
2台服务器,系统为2003,都是单网卡《有的说要双网卡,有双网卡的时候只是为了远程管理的方便,对于NLB关系不是很大,对故障转移到是很需要》,如图
WEB1:10.0.0.1
WEB2:10.0.0.3
群集虚拟IP:10.0.0.2
<ignore_js_op>
1,首先,我们要先设置好服务器的名字和IP地址,这是前提,在此就不在截图了
2,打开WEB1,以管理员身份登录,从“管理工具”中运行“网络负载平衡管理器”,用鼠标右键单击“网络负载平衡群集”如图
<ignore_js_op>
3,从出现的菜单中选择“新建群集”,进入“群集参数”界面。设置完成后进行下一步
<ignore_js_op>
4,可以根据自身的情况进行添加,然后下一步
<ignore_js_op>
5,看下端口规则的解释,根据自身情况进行添加和编辑,然后下一步
<ignore_js_op>
6,这里是单网卡,如果是多网卡的话,会全部显示出来,在选择的时候一定要注意,选择对方提供服务的IP地址,这里就一个也就无所谓了!
<ignore_js_op>
7,设置第一台服务器的优先级
<ignore_js_op>
8,正在进行配置,一小会就会完成变成绿色的!
<ignore_js_op>
9,至此,第一台已经配置完成,下面就是加入第二台服务器,方法一样的,在此就不在截图了,最后完成的如图,都处于聚合状态
<ignore_js_op>
以后,如果这两台服务器不能满足需求,可以按以上步骤添加第3台、第4台计算机到网络负载平衡中以满足要求。
三:用IIS服务验证网络负载平衡
网络负载平衡配置好后,为了实现某项具体的服务,需要在网络负载平衡的计算机上安装相应的服务。例 如:为了实现IIS网站的负载平衡,需要在相应的网络负载平衡的计算机上安装IIS服务。
安装网络负载平衡的应用程序时,不需要特别的方法,只需要在配置好网络负载平衡的计算机上安装相应的服务即可。但是为了让每个用户在通过网络负载平衡访问
到不同的计算机时,能够访问到一致的数据,需要在网络负载平衡的每台计算机上保持数据的一致性。举例来说:实现了两个节点的IIS的网络负载平衡,为了保
证两个网站内容的一致性,除了这两个IIS服务器的配置相同外,相应的网站数据必须一致。
1,在“添加/删除程序”中,点击“添加Windows组件”,进入Windows组件向导,双击“应用程序服务器”,进入“应用程序服务器”选中ASP.NET、Internet信息服务及应用网络COM+访问后,即可开始安装IIS服务。
2,安装之后,进入WEB1的inetpub\wwwroot目录,新建一个文本文件,输入以下内容:this is WEB1 另存为default.htm
3,进入WEB2的inetpub\wwwroot目录,新建一个文本文件,输入以下内容:
this is WEB2 另存为default.htm
4,如果是对外的IIS,那么内容应该是一样的,这里我们为了达到效果明显,才把内容写的不一样,如果要达到2太服务器网站内容一样,可以使用DFS自动复制!
5,我们开始测试,使用一台XP进行访问,如图
在服务器正常的时候提供服务的是WEB1,因为他的优先级最高
<ignore_js_op>
当WEB有问题的时候,那么用户在访问的时候结果如图
<ignore_js_op>
四,至此此次试验已经结束!
另外:在第一次做双网卡试验的时候没有异常,但在第二次做单网卡试验的时候出现如图故障
<ignore_js_op>
查找注册表发现,错误字串和网卡信息有关,对应的键是NetCfgInstanceId.加入NLB节点的主机接口,必须要有不同的NetCfgInstanceId.
经测试,NewSID并不修改该值,因此虽然两台虚拟机的SID不同,但由于NetCfgInstanceId一样,导致第二个节点加入NLB群集时出错.
解决办法有两个,都可以修改NetCfgInstanceId:
1.使用NewSID后,在设备管理器里卸载网卡,扫描检测硬件改动,重新配置网络;
2.直接使用sysprep.
其他信息: NetCfgInstanceId所在的注册表项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\
{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\NetCfgInstanceId
用大括号括起来的是"网络适配器"项,每个系统可能不同;下面的子项有数个,需要找本地连接对应的,譬如上面的是0001.
简单的法子是先看网卡的名字,如VMware Accelerated AMD PCNet
Adapter,然后在Class上点右键查找网卡名,即可到达.
大流量IIS负载均衡NLB解决方案的更多相关文章
- IIS负载均衡(转)
在大型Web应用系统中,由于请求的数据量过大以及并发的因素,导致Web系统会出现宕机的现象,解决这一类问题的方法我个人觉得主要在以下几个方面: 1.IIS 负载均衡. 2.数据库 负载均衡. 3.系统 ...
- IIS负载均衡-Application Request Route详解第一篇: ARR介绍(转载)
IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...
- IIS负载均衡相关
1. IIS负载均衡 (比较简单的例子,能看到效果) 2.nginx+iis实现负载均衡 3.Windows平台分布式架构实践 - 负载均衡 4.Net分布式系统:Keepalived+LVS+Ngi ...
- IIS 负载均衡
在大型Web应用系统中,由于请求的数据量过大以及并发的因素,导致Web系统会出现宕机的现象,解决这一类问题的方法我个人觉得主要在以下几个方面: 1.IIS 负载均衡. 2.数据库 负载均衡. 3.系统 ...
- IIS负载均衡-Application Request Route详解第一篇: ARR介绍
IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...
- IIS负载均衡ARR路由请求到ARR服务器和处理服务器
.net web 使用IIS ARR(Application Request Route)技术实现web的高性能.高可靠.易扩展及负载均衡.ARR的使用请参考 IIS负载均衡-Application ...
- IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构(转载)
IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构 系列文章链接: IIS负载均衡-Application Request Route详解第一篇: ...
- IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm(转载)
IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm 自从本系列发布之后,收到了很多的朋友的回复!非常感谢,同时很多朋友问到了一些问题,有些问 ...
- 在Hyper-V上安装配置Windows负载均衡NLB
搭建过程 Hyper-V 是自Windows Server2008 以来提供的虚拟机管理软件,它操作简便,功能也不错,可以方便的在它里面安装各种操作系统,如图所示: 现在,想利用这几台虚拟服务器搭建一 ...
随机推荐
- EntityFramework Add方法与Attach区别
一 先发问. 问题:在使用EF过程中,能否有一个方法可以直接执行传入的SQL语句.纠结的只找到了调用存储过程的方法,难道要SqlHelper.cs? 二 友情提示 本文内容参考自MSDN. 三 ...
- javascript_22_for_二维数组
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 【贪心】Bzoj 2457:[BeiJing2011]双端队列
2457: [BeiJing2011]双端队列 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 209 Solved: 95[Submit][Stat ...
- JUnit4的使用
JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写. 先简单解释一下什么是Annotation,这个单词一般是翻译成元数据.元数据 ...
- 电脑问题交流QQ群
各种电脑问题交流QQ群号 164853622 系统重装 系统恢复 系统出问题 电脑主页 修改 主页 搜狗 软件卸载 顽固 病毒 讨论
- BitNami一键安装Redmine(转)
1. 简介 对于一个新手,如果严格按照官方文档来安装redmine,我想会“疯”掉的.有没有一种简便的方法.有滴,那就是BitNami. BitNami提供redmine的一键安装程序,简单.易用.方 ...
- DelayedOperationPurgatory之purgatory的实现
purgatory的超时检测 当一个DelayedOpeartion超时(timeout)时,它需要被检测出来,然后调用它的回调方法.这个事情看起来很简单,但做好也并不容易. 0.8.x的Kafka的 ...
- 使用异步 I/O 大大提高应用程序的性能
使用异步 I/O 大大提高应用程序的性能 学习何时以及如何使用 POSIX AIO API Linux® 中最常用的输入/输出(I/O)模型是同步 I/O.在这个模型中,当请求发出之后,应用程序就会阻 ...
- 谈谈WCF中的Data Contract(3):WCF Data Contract对Collection & Dictionary的支持
谈谈WCF中的Data Contract(3):WCF Data Contract对Collection & Dictionary的支持 在本篇文章上一部分Order Processing的例 ...
- DataGrid行详细信息的绑定--DataGrid.RowDetailsTe(转载)
在Silverlight中的DataGrid控件使用中我们想点击其中一行并且看这一行的详细信息应该如何做呢?而且这个详细信息是多行的数据,而非简单的几个属性. 在这里我们使用DataGrid.RowD ...