首页 > 代码库 > Windows集群网络负载均衡

Windows集群网络负载均衡

在接触负载均衡的时候,笔者先是在网络上进行负载均衡的搜索,弄清楚了到底什么是负载均衡,之后就发现,支持负载均衡的系统有很多。常用的是Windows,Linux这两大系统。那么网上的教程最多的也是关于LVS和win2003的配置操作。那么现在笔者,在此为大家主要介绍一下Windows负载均衡的特点。

  通过使用由两台或多台计算机一起组成的集群,网络负载均衡使得Web服务器的可用性提高,可扩展性改善?Internet客户使用单一IP地址(或多宿主主机采用一套地址)访问集群?网络负载均衡集群与运行单一服务器程序的单一主机有明显区别,集群中某主机发生故障时,集群系统保证提供不间断的服务?集群还可以比单一主机更迅速地响应客户请求(对于负载均衡的端口)?

  Windows集群系统的负载均衡功能分别设置在集群中每个节点服务器上,不是集中在一个独立的功能模块上,所以也称为网络负载均衡?Win 2000 Advanced Server提供的网络负载均衡服务,可虚拟出一个MAC地址,该MAC地址与集群各节点的MAC地址无关,且为集群中的各主机共用?同时,网络负载均衡服务将指定的集群主IP地址指派给该MAC地址?所有的客户端请求都发往集群主IP地址,传入该主IP地址的客户请求将被集群中的所有节点接收,网络负载均衡在传入指定TCP和UDP端口的数据报到达TCP/IP协议软件之前对其进行筛选,根据在“端口规则"中配置的值将客户请求在集群中进行分配,只有被分配为处理该客户请求的节点才处理它,其余的节点则丢弃该请求?

  每台服务器都运行需要的服务器程序(如Web?FTP?Telnet或电子邮件服务器程序)的一个独立副本?对有些服务(如Web服务器上使用的服务),程序的副本在集群内的所有主机上运行,Windows负载均衡在这些服务器之间分配工作量?对于其它服务(如电子邮件),只有一台主机处理工作量?对于这些服务,网络负载均衡让网络通信流向一台主机,只有在服务器发生故障时才将通信移到另一台主机上?

  网络负载均衡能提供高可用性,当有一台主机发生故障或脱机时,网络负载均衡可将传入的网络通信重新定向到工作正常的集群主机?即使与脱机的主机的连接断开,也能提供Internet服务?在大多数情况下(例如,Web服务器),客户软件在连接失败时自动重试,客户在接收响应时只感到有几秒钟的延迟?

  Windows负载均衡可提供扩展性能,将传入的网络通信在分配给集群的一个或多个虚拟IP地址之间分布?集群中的多台主机随后同时响应不同的客户请求,甚至响应来自同一客户的多个请求?例如Web浏览器可以从集群中的不同主机获取一个Web页面中的几个图像?这样就会加快处理速度,缩短对客户的响应时间?

  Windows负载均衡能使一个子网上的所有集群主机同时检测传送到集群的主IP地址(及多宿主主机的其它IP地址)的网络通信?在每台集群主机上,网络负载均衡驱动程序作为集群适配器驱动程序和TCP/IP堆栈之间的筛选器,允许主机分几部分接收传入的网络通信?

  网络负载均衡使用完全分布式的算法,根据集群主机的IP地址?端口和其它信息将传入的客户按照统计规律与各集群主机相对应?在检查到达的数据包时,所有的主机都同时执行这种对应来迅速确定哪台主机应该处理该数据包?除非集群主机的数量发生变化,否则这种对应关系就会保持不变?

  Windows负载均衡筛选算法在数据包处理中比集中负载平衡程序效率高得多,因为后者必须修改并重新传输数据包?这样网络负载平衡就能够提供更高的集合带宽?通过直接在集群主机上运行,网络负载平衡的性能不会受到某一代的处理器或网络技术的限制?