随着项目的发展,终于遇到了单机无法满足要求的情况,第一个想法,就是做集群,于是查阅了相关资料,准备着手搭建。因为我们的应用很单一,就是提供检索服务,所以不需要做应用集群,只做服务器集群就能满足要求,每个服务器部署同样的WEB Service。既然服务一样,接下来就是解决负载均衡的问题,提高并发访问量。
负载均衡有几种实现方式:
1、 Windows网络负载均衡
2、 软件负载均衡
3、 负载均衡器
4、 自己写分发工具实现负载均衡
下面我先把第一种,Windows网络负载均衡配置的详细过程写出来,希望对大家有用,后续随着测试的深入,我会将其它负载均衡的配置方法和测试结果也写出来。
环境
操作系统:Windows Server 2003
服务器数量:3(实际情况两台或两台以上都可以配置,最高可配置32台)
IP配置:服务器A(192.168.0.4)服务器B(192.168.0.5)服务器C(192.168.0.6)网关全部为(192.168.0.1)
1、首先保证三台服务器的网络负载均衡勾选框为未勾选状态

2、在任意机器上启动网络负载均衡管理器,这里我选择服务器B

3、在网络负载均衡集群上点击右键,在弹出的菜单中选择新建集群

IP地址填写一个虚拟IP作为统一对外服务的IP,比如192.168.0.9,和服务器IP属于同一网段
如果需要集群中的服务器之间通讯,则选择“多播”,反之则选择“单播”
4、下一步后弹出个窗口,我到现在还没搞懂它是干嘛的,不管它,下一步跳过

6、端口规则窗口

7、点击上一步中的编辑按钮,打开下图

筛选模式即筛选算法,如何分配访问流量
1、无相似性:Client的服务请求会平均分配到丛集内的每一部服务器。假设NLB丛集内有2部服务器。当接到Client的请求时,NLB会将第1个请求交由第1部服务器来处理,第2个请求交由第2部服务器来处理,第3个请求交由第1部服务器来处理,…依此类推。因为所有Client联机会平均分配到每一部服务器,因此可以达到最佳的负载平衡。如果需要执行交易楚理,为了能够共享session状态,则必须将session状态集中储存在state或database server中。这种方式适用于大部分的应用程序。
2、单一相似性:Client的服务请求会固定分配到丛集内的某一部服务器。当接到Client的请求时,NLB会根据Client 的IP来决定交由哪一部服务器来楚理,也就是一部服务器只会处理来自某些IP的请求。因为一个IP的服务请求只会固定由一个服务器来处理,因此没有session状态共享的问题,但可能会导致负载不平衡。这种方式适用于联机需支持 SSL 集多重联机的通讯协议 ( 例如FTP与PPTP等)。
3、Class C:Class C与单一相似性类似,不同的是Class C是根据IP的Class C屏蔽来决定交由哪一部服务器来楚理,也就是一部服务器只会处理来自某些网段C的请求。这种方式可确保使用多重 Proxy 的客户端能导向到相同的服务器。
8、下一步后,输入本机IP,点连接后选择网卡

9、这里的优先级只针对前面选择了单一相似性的情况

10、点击完成按钮后,等待几分钟操作完成,如下图所示

11、此时集群已经建立起来了,下一步需要把其它机器加入到本集群来
12、换到服务器A进行操作,在服务器A上,打开网络负载均衡管理器

13、在网络负载均衡集群上点击右键,在弹出菜单中选择“加入到现有集群”,在弹出菜单中,输入集群的IP,点击连接

14、之后的操作类似前面的,只需输入本机IP,将本机加入到集群中即可,其它服务器的配置方法相同
配置已经完成了,经过测试,得出了结论
1、windows网络负载均衡适合网站或相应速度较快的web项目
2、对于每次响应需要消耗1秒甚至更多的计算性响应,windows网络负载均衡不能满足需求,测试过程中,经常发生某台机器满负荷状态,其余机器CPU 10%
本文详细介绍了在Windows Server 2003环境下配置网络负载均衡的步骤,包括集群创建、IP设置、筛选模式选择等。适用于提供检索服务的单一应用,通过负载均衡提高并发访问量。测试结果显示,Windows网络负载均衡适合响应快速的Web项目,而对于计算密集型任务可能不足。

1万+

被折叠的 条评论
为什么被折叠?



