实现服务器负载均衡的常见方法和原理

广告也精彩

为了提高服务器的性能和工作负载能力,企业通常使用DNS服务器、网络地址转换等技术来实现多服务器的负载平衡。特别是目前,许多互联网网站通过几个服务器完成服务器访问的负载平衡。目前,企业使用的所谓负载平衡服务器实际上是应用系统中的一种控制服务器。所有用户的请求首先来到此服务器,然后服务器根据每个实际处理服务器的状态将请求分配到实际处理服务器中。开放的域名和IP地址都是此服务器。负载平衡控制和管理软件安装在此服务器上。该服务器一般只分配负载平衡任务,而不是实际处理网络请求的服务器。一是企业实现Web服务器负载平衡。为了将负载均匀地分配到多个内部服务器上,需要采用一定的负载均衡策略。通过服务器负载均衡设备,实现各服务器组的动态流量负载均衡,并相互冗余备份。并要求新系统具有一定的可扩展性。如果数据访问量继续增加,可以添加新的服务器来添加负载均衡系统。对于WEB服务应用程序,有几台机器同时提供服务。每台机器的状态可以设置为regular(正常工作)或backup(备份状态),也可以设置为regular状态。负载平衡设备根据管理员事先设置的负载算法和当前网络的实际动态负载,确定下一个用户的请求将重定向到的服务器。所有这些对用户来说都是完全透明的。当用户完成对WEB服务的请求时,他们不必关心哪个服务器完成。二是利用网络地址转换实现多服务器负载平衡。在支持负载平衡的地址转换网关中,一个外部IP地址可以映射到多个内部IP地址,动态使用每个TCP连接中的一个内部地址,以达到负载平衡的目的。许多硬件制造商将该技术集成到他们的交换机中,作为他们的第四层交换功能。一般来说,负载平衡策略是根据服务器的连接数量或响应时间随机选择的。但硬件实现的负载控制器灵活性不强,不能支持更优化的负载平衡策略和更复杂的应用协议。基于网络地址转换的负载平衡器可以有效解决服务器端的CPU和磁盘I/O负载。但负载平衡器本身的性能受网络I/O的限制,在一定的硬件条件下有一定的带宽限制,但这种带宽限制可以通过改进算法和提高运行负载平衡程序的硬件性能来提高。不同的服务类型占用不同的服务器资源。我们使用的负载测量策略是使用相同的负载进行评估,这适用于大多数条件。但最好的办法是监控服务器负载,分别针对CPU、磁盘I/O或网络I/O等不同资源,中央控制器选择最合适的服务器分发客户请求。使用DNS服务器实现负载平衡。访问企业网络服务器的用户数量急剧增加,服务器难以满足用户的访问需求,那么如何确保用户的正常访问呢?解决方案有很多,如使用Windows2000或WindowsServer2003提供网络负载平衡服务,但服务设置非常复杂。通过DNS服务器实现网络负载平衡是一种相对简单的方法。企业网络通常由许多子网组成。为了减少网络中的数据流量,客户机最好访问同一子网中的Web服务器。虽然实现了网络负载的平衡功能,但并不能保证客户访问本子网的Web服务器。事实上,只要启用DNS服务器的启用网络掩码排序功能,这个问题也很容易解决。在DNS管理器窗口中,右键点击DNS服务器,在弹出菜单中选择属性,然后在属性对话框中切换到先进选项卡,检查服务器选项列表框中的启用网络掩码排序选项。这样,客户机每次都可以访问本子网中的Web服务器。完成上述设置后,DNS服务器实现了网络负载的平衡功能,将客户访问分享给每个Web服务器,也减少了跨子网络的网络通信流量,大大降低了企业网络的通信负担。企业实现SQLServer数据库服务器负载平衡。MSSQLServer数据库服务器可以说是应用最广泛的数据库产品,在大型和关键的应用系统中提供的服务越来越多。当企业的应用越来越复杂,数据量越来越大时,SQLServer数据库应该不断处理、存储和查询。此时,企业应考虑SQLServer数据库服务器的性能、速度和安全性。但长期以来,SQLSERVER数据库服务器只有热备解决方案,没有负载平衡和集群解决方案。随着数据库路由器软件ICX的出现,为基于MSSQLServer的数据库系统提供了更好的集群解决方案。真正实现SQLServer数据库服务器的动态负载平衡,提高性能和速度;真正保证SQLServer数据库服务器不间断提供服务,服务器故障时实时切换到其他服务器继续提供服务,切换时间为零。数据库路由器是实时并发数据库事务处理的同步复制器和负载平衡器。所有数据库客户都通过ICX访问数据库。ICX在访问和查询SQLServer数据库时,可以根据实际情况分配服务器提供服务,大大提高服务速度和优化性能,完成负载平衡。ICX可以同时连接多个数据库,ICX保证了这些数据库的内容在任何时候都是完全一致的。也就是说,ICX采用了一种全新的并发事务处理方式,将事务处理同步复制到连接的N个数据库,使系统在任何时候都有多个一致的最新逻辑数据库数据集。当其中一个数据库服务器出现故障时,ICX可以在第一时间实时切换到其他服务器继续提供服务。真正实现零时服务器切换,大大提高安全性,真正实现服务器连续服务。  原理:负载平衡将每个IP数据包按照一定的规则分发到服务器节点,不同的负载平衡实现方法有不同的分发规则。负载平衡系统对客户端是透明的。采用网络负载平衡技术的服务对单个客户端请求的响应比单个主机快,但在速度和质量上对大量客户端密集请求具有很大优势。当主机故障或脱机时,不会影响服务的提供,从而带来高可用性。不同的实现负载平衡的方法。4.1利用网络设备的动态网络地址转换(NAT)功能实现负载平衡。要求实现负载平衡:具有动态NAT功能的路由器,多个运行同一服务的服务器,所有服务器都需要在同一局域网中。负载平衡的设计与配置过程:内部多个服务器有自己的私人IP,提供相同的服务,但外部映射通过网络地址转换(NAT)成为统一的公共网络IP地址,外部多个服务器是绑定在一起的虚拟服务器,外部访问虚拟服务器,轮流指向每个服务器,实现负载平衡。例如:以下网络。动态NAT路由器配置过程如下:(以思科路由器为例)#intf0/1,Router(config)。(config-if)#ipadress192.168.1255.255.255.0。#ipnatinsideipnatinside。#ints0/0,Router(config-if)。(config-if)#ipadress13.0.0.1255.255.255.252。ipnatoutsideRouter(config-if)。#exit,Router(config-if)。#ipnatpolp2192.168.1.2192.168.1.4netmask255.255.255.0typerotary。(config)#access-list2permit133.0.0.33。(config)#ipnatinsidedestinatinlist2polp2。(config)#iproute0.0.0.0.0.0.0s0/0。优缺点:配置简单,成本低,本地维护服务器方便。负载平衡算法由路由器提供,不占用服务器系统资源。但一般只能支持轮流服务的算法,不能根据服务器性能合理分配负载。实现4.2DNS负载平衡。负载平衡要求:需要DNS服务器的支持,一般支持bind8.2以上的类unix系统,安装回收DNS软件。负载平衡的设计和配置过程:在DNS中为多个地址配置相同的名称,因此查询该名称的客户机将获得一个地址,使不同的客户访问不同的服务器,以达到负载平衡的目的。配置过程在不同的DNS系统中有不同的配置方法,本文不再重复。优缺点:服务器可以分布在不同的区域,有利于故障转移。负载平衡算法运行在DNS服务器上,不占用服务器资源。然而,域名服务器不知道服务结点是否有效。如果服务结点失效,域名系统仍将域名分析到节点,导致用户访问失效。此外,它不能区分服务器性能的差异,也不能反映服务器当前的运行状态。因此,在动态平衡特性方面,动态DNS轮询效果并不理想。4.3利用操作系统的集群功能实现负载平衡。负载平衡要求:需要使用支持群集功能的操作系统,如windows2000server以上的服务器版本、Unix或Linux。本文以windows2003server为例,介绍了群集功能的配置。负载平衡的设计和配置过程:集群的实现需要集群内部通信、管理和内容复制的数据传输。这部分通信占用了网络的可用带宽。为了克服单个网卡的局限性,一般使用双网卡,一个用于负载客户端通信,另一个用于传输内部通信、管理和内容数据。集群操作模式的选择是设计的重要一步。单播模式是指每个节点的网络适配器被重新指定为虚拟MAC(由02-bf和集群IP地址组成,以确保MAC的独特性)。在多播模式下,网络适配器还分配了一个由每个节点共享的多播MAC地址,同时保持原有MAC地址不变。一般选择多播模式。端口规则是windows2003的新特征。NLB提供三种筛选模式,可以禁止端口规则、多主机负载平衡和单主机特殊处理。其中,多主机筛选模式提供了真正的负载平衡,负载量可以根据节点的实际处理能力进行分配。Windows2003引入了网络负载平衡管理器(控制面板->管理工具),使负载平衡的安装和配置更加简单。管理器可以轻松建立、删除、添加节点、删除、修改和检测故障。运行网络负载平衡管理器,选择新的集群->,弹出集群参数对话框,然后根据需要的需要进行配置。首先,点击下一步配置参数,系统会提示添加额外的集群IP。如果不需要,可以直接按照下一步进行端口配置。以web集群配置为例:如果会话状态不保存在集群中,则没有相似性选择,否则选择单一或类C。之后指定主机连接,选择可用的网络接口设置主机参数:点击完成,管理器会自动连接到主机进行相关配置,创建新的集群。优缺点:在选择多主机筛选模式时,提供了真正的负载平衡,负载量可以根据节点的实际处理能力进行分配。更适合实现大型网站的负载平衡。然而,当使用Unix和Windows2003server系统时,网络架构成本更高。

实现服务器负载均衡的常见方法和原理

 

转载于天翼云知识,如有侵权,请联系删除,谢谢

© 版权声明
广告也精彩

相关文章

广告也精彩

暂无评论

暂无评论...