负载均衡的原则:负载均衡根据一定的规则将每个IP包分配给服务器节点。不同的负载平衡实现有不同的分布规则。负载平衡系统对客户端是透明的。使用网络负载平衡技术的服务响应单个客户端请求的速度比单个主机更快,但是大量客户端的密集请求在速度和质量上有很大优势。并且当主机出现故障或离线时,不会影响服务的提供,从而带来高可用性。
1、利用操作系统的集群功能实现负载均衡
负载均衡要求:要求使用支持集群功能的操作系统,如windows 2000server以上的服务器版本、Unix或Linux。本文以windows2003服务器为例,介绍了集群功能的配置。
负载均衡的设计和配置过程:集群的实现需要集群内部的通信以及管理和内容复制的数据传输。这部分通信占用了网络的可用带宽。为了克服单网卡的局限性,一般采用双网卡,一个用于负载客户端的通信,另一个用于传输内部通信、管理和内容数据。
集群运行模式的选择是设计的重要一步。单播模式意味着为每个节点的网络适配器重新分配一个虚拟MAC(由02-bf和集群IP地址组成,以确保该MAC的唯一性)。在多播模式下,网络适配器分配一个由所有节点共享的多播媒体访问控制地址,同时保持原始媒体访问控制地址不变。一般选择组播模式。
端口规则是windows2003的新功能。NLB提供了三种过滤模式,可以采用禁止、多主机负载均衡和单主机对端口规则的特殊处理。其中多主机筛选模式提供了真正的负载均衡,负载可以根据节点的实际处理能力进行分配。
Windows2003引入了网络负载均衡管理器(控制面板->管理工具),使得负载均衡的安装和配置更加容易。该管理器可以轻松建立和删除集群,添加、删除和修改节点,并检测故障。运行网络负载均衡管理器,选择集群->新建,弹出“集群参数”对话框,根据需要按照向导进行配置。
首先配置参数后,单击下一步,系统将提示您添加其他群集IP。如果不需要,可以直接按下一步配置端口。以web集群配置为例:如果集群上没有保存会话状态,则相似度选择为无,否则选择单个或C类。之后,指定一个主机连接,选择一个可用的网络接口,设置主机参数:点击完成,管理器会自动连接到主机进行相关配置,创建一个新的集群。
优缺点:在选择多主机筛选模式时,提供了真正的负载均衡,可以根据节点的实际处理能力来分配负载。更适合大型网站的负载均衡。然而,在使用UNIX和Windows 2003 Server系统时,网络架构的成本很高。
2、利用网络设备的动态网络地址转换(NAT)功能实现负载均衡
负载均衡的要求:具有动态NAT功能的路由器,多台服务器运行同一服务,所有服务器必须在同一个局域网中。
负载均衡的设计和配置过程:内部多台服务器都有自己的私有IP,提供相同的服务,但外部通过NAT映射成为统一的公有IP地址。在外部,多个服务器是捆绑在一起的虚拟服务器。当外部访问此虚拟服务器时,它们依次指向每台服务器,以实现负载平衡。
优缺点:配置简单,成本低,服务器本地维护容易,负载均衡算法由路由器提供,无需占用服务器系统资源。但一般只能支持轮换服务的算法,不能根据服务器性能合理分配负载。
3、域名系统负载平衡的实现
负载平衡要求:需要DNS服务器支持。一般支持bind8.2以上的类unix系统,并安装了循环DNS软件。
负载均衡的设计和配置过程:在DNS中将多个地址配置为同一个名称,这样查询这个名称的客户端就会得到其中一个地址,这样不同的客户端就可以访问不同的服务器,达到负载均衡的目的。配置过程在不同的DNS系统中有不同的配置方式,本文不再赘述。
优缺点:服务器可以分布在不同的区域,有利于故障转移。负载均衡算法运行在DNS服务器上,不占用服务器资源。但是,域名服务器无法知道服务节点是否有效。如果服务节点出现故障,域名系统仍会将域名解析到该节点,导致用户访问无效。此外,它不能区分服务器性能的差异,也不能反映服务器当前的运行状态。所以在动态平衡方面,动态DNS轮询的效果并不理想。有不懂的请咨询梦飞科技了解。