学习笔记:服务器的负载均衡

• 日益增长的网络业务量对服务器造成了巨大压力,当单个服务器无法满足网络需求时。更换更高性能的服务器会让之前的服务器造成资源浪费。单纯地增加服务器的数量,则涉及到如何分配流量、服务器间的协同机制等很多复杂的问题。既要考虑成本因素和现实需求,又要兼顾日后的设备升级和扩容。

服务器集群

• 处理业务的服务器组成服务器集群,对外体现为一台逻辑上的服务器,由FW决定如何分配流量给各个服务器。
服务器负载均衡技术的一些常见概念如下:
• 实服务器:处理业务流量的实体服务器,客户端发送的服务请求最终是由实服务器处理的。
• 实服务器组:由多个实服务器组成的集群,对外提供特定的一种服务。
• 虚拟服务器:实服务器组对外呈现的逻辑形态,客户端实际访问的是虚拟服务器。
• 负载均衡算法:FW分配业务流量给实服务器时依据的算法,不同的算法可能得到不同的分配结果。
• 服务健康检查:FW检查服务器状态是否正常的过程,可以增强为用户提供服务的稳定性。

服务器负载均衡功能利用Server-map表和会话表完成虚拟服务器和实服务器的映射。配置服务器负载均衡功能后,FW会生成SLB类型的静态Server-map表,该表项在关闭服务器负载均衡功能时立即老化。
• 随着企业的大规模扩展和业务量的爆炸式增长,企业网络要处理的数据量也在大幅度增加。企业新建园区网或扩容原有网络的服务能力时,需要考虑服务能力和投入资金的关系,甚至要兼顾日后扩展的收益性。FW作为企业园区的安全网关,同时为园区内的用户和服务器集群提供安全隔离保护。配置服务器负载均衡功能后,用户可以快速获取企业资源和服务,提升了用户体验。对于企业来说,也方便日后对服务能力进行扩容,降低了企业的投入成本。

负载均衡算法

负载均衡算法是服务器负载均衡功能的核心,服务器负载均衡是按照逐流方式进行流量分配的,每一条流到达FW后都会进行一次负载均衡处理。这里的“一条流”可以理解为FW上建立的一条会话或一个连接,所谓“逐流”就是将属于同一条流的报文都分配给同一个服务器来处理。当会话老化后,即使流量的源IP、目的IP等网络参数都没有改变,也会视新建的会话为一条新流。

简单轮询算法

• 将客户端的业务流量依次分配到各个服务器上。FW将客户端的业务流量依次分配给服务器,当每个服务器都分配到一条流后,再从服务器S1开始重新依次分配。当业务流量较大时,经过一段时间后,各服务器的累积连接数大致相等。

最小连接算法

• 将客户端的业务流量分配到并发连接数最小的服务器上。并发连接数即服务器对应的实时连接数,会话新建或老化都会影响并发连接数的大小。

会话保持算法

• 会话保持算法是将同一客户端的业务流量全部分配到同一台服务器上,通过基于源IP的HASH计算实现此目的。

上面三种算法加权

• 所有的算法均可以加上权重的配置,在简单轮询的基础上,对所配置的实服务器再配置对应的权重,即为加权轮询算法,将客户端的业务流量按照一定权重比依次分配到各个服务器上。例如服务器S1、S2、S3、S4的权重依次为2、1、1、1,此时服务器S1将被视为两台权重为1的服务器,所以FW连续分配两条流给S1,然后再分配下一条流给服务器S2。当业务流量比较大时,经过一段时间后,各服务器的累积连接数比例约为2:1:1:1。

• 加权最小连接算法是将客户端的业务流量分配到加权并发连接数最小的服务器上。加权并发连接数是考虑服务器权重后得到的实时连接数,例如S1,S2,S3实时连接数为8,4,3;加权为8:2:2,计算后为1:2:1.5,所以下一条连接在S1上。

• 加权会话保持算法是将同一客户端的业务流量全部分配到同一台服务器上,权重比高的服务器将分配到更多的业务流量。

选择负载均衡算法的主要因素

• 服务器的性能
根据服务器的性能差异来分配业务,可以保证设备得到充分利用,提高服务的稳定性。当各个服务器的性能不同且成一定比例关系时,可通过设置权重来实现负载均衡:性能高的服务器权重值大,分配到较多的业务;性能低的服务器权重值小,分配到较少的业务。

• 服务器的服务类型
服务器的服务类型不同,则会话连接的时长或服务请求的次数可能会有差异。如果用户请求的服务需要长时间保持会话连接,那么必须考虑服务器并发处理的连接数。如果用户需要和服务器进行多次交互,才能完成某个特定的服务,那么必须保证这期间的所有请求都发送到一个固定的服务器上,否则将导致请求失败。

服务健康检查

• 如果服务器提供的服务类型不包含在这5种协议(TCP、ICMP、HTTP、DNS和RADIUS)中,建议使用ICMP协议报文检查服务器的可达性。
• 每个探测报文都会返回一个检查结果,显示服务器是否处在正常的工作状态,FW提供了结果确认机制来保证不会发生误判。如果有一个检查结果显示服务器故障,则FW在继续发送探测报文的同时,开始统计连续故障的次数。当连续次数达到预设值时,FW才认定此服务器真的发生了故障。检查结果反馈给负载均衡算法后,改变了负载均衡的结果,该服务器不再参与流量分配。管理员可以选择是否继续对故障服务器进行健康检查,如果指定故障服务器为非激活状态,则FW不会再向服务器发送探测报文(修复好之后需要指定回激活状态),否则FW会继续向故障服务器发送探测报文(修复好后不需要指定回激活状态)。

发布了10 篇原创文章 · 获赞 8 · 访问量 1439

猜你喜欢

转载自blog.csdn.net/TKE_yinian/article/details/104621514