负载均衡器是一种充当流量代理的解决方案,可将网络或应用流量分配到多台服务器的各个端点。负载均衡器用于在流量高峰期分配容量,并提高应用的可靠性。它们通过减轻单个服务或云的负担来提升应用的整体性能,并将需求分散到不同的计算环境中,帮助维持应用和网络会话。
现代应用必须同时处理数百万个会话,并快速、可靠地向每位用户返回正确的文本、视频、图像及其他数据。为处理如此庞大的流量,大多数应用都配有多台资源服务器,服务器之间存有重复数据。
负载均衡将网络流量动态分配到支持应用的资源网络。负载均衡器是位于用户与服务器组之间的设备或服务,如同无形的协调者,确保所有资源服务器得到均衡使用。即使在使用量和需求较高时,负载均衡器也有助于提高可靠性和可用性,延长正常运行时间并改善用户体验。
在某些情况下,必须在整个会话期间将客户端的所有请求发送到同一台服务器。例如,客户端将商品加入购物车并完成购买时,就需要这样做。维持客户端与服务器之间的连接称为“会话持久性”。如果没有会话持久性,就必须在服务器之间同步信息,并且可能需要多次获取信息,从而降低性能。
负载均衡的优势
用户和客户需要近乎实时地查找信息和完成交易。延迟或不可靠、不一致的响应,即使只发生在需求和使用高峰期,也可能导致客户永久流失。如果传入的需求(即“负载”)过高,难以轻松承载,计算需求激增还可能导致内部服务器或服务器系统陷入混乱。
使用负载均衡器的优势包括:
- 应用可用性: 内部和外部用户都需要可靠的应用可用性。如果应用或功能中断、延迟或卡死,不仅会浪费宝贵时间,还可能造成不良体验,导致客户转向竞争对手。
- 应用可扩展性:假设您经营一家票务公司,并宣布某场热门演出的门票将于特定日期和时间开售。届时,可能会有数千甚至更多用户同时访问网站购票。如果没有负载均衡器,网站的承载能力将受限于单台或第一台服务器,而面对如此大的需求,这台服务器很可能难以应对。使用负载均衡器可将请求和流量分配到其他可用的计算资源,从而提前应对流量激增,让更多客户买到心仪的门票。
- 应用安全:负载均衡还可帮助组织扩展安全解决方案。其中一种主要方式是将流量分配到多个后端系统,这有助于尽可能缩小攻击面,并增加耗尽资源和使链路饱和的难度。如果某个系统存在漏洞或已遭入侵,负载均衡器还可将流量重定向到其他系统。此外,如果某台服务器出现漏洞,负载均衡器可在服务器之间重新路由流量,为抵御DDoS攻击提供额外一层保护。
- 应用性能:通过上述措施,负载均衡器可提升应用性能。负载均衡器通过增强安全性、优化正常运行时间,并支持应用在需求激增时灵活扩展,确保应用按设计正常运行,满足您和客户的使用需求。
负载均衡算法
按运行方式划分,负载均衡算法分为静态和动态两类。静态负载均衡算法掌握分布式网络中现有服务器的性能和容量信息,并据此衡量服务器的传入负载。动态负载均衡可在运行时动态确定需要转移的负载量,以及应由哪个系统承载这些负载。它专为传入负载波动较大的系统而设计。
以下是一些常见的负载均衡算法类型。
- 轮询:此算法使用域名系统(DNS)将流量依次发送到服务器列表中的各台服务器。(注意:DNS负载均衡也可以是一种动态解决方案。)
- 阈值:此算法根据管理员设置的阈值分配任务。
- 二选一随机:“二次幂”算法随机选择两台服务器,然后根据配置应用最少连接算法或最短时间算法,从中选出一台服务器并向其发送请求。
- 最少连接:新请求会发送到当前客户端连接数最少的服务器。确定哪台服务器的连接数最少,或占用的带宽或资源最少时,会将每台服务器的相对计算能力纳入考量。
- 最短时间:在此算法中,系统使用综合考虑最快响应时间和最少活动连接数的公式选择服务器,并将请求发送至该服务器。
- URL哈希:此算法根据客户端请求中的URL生成哈希值,并根据该哈希值将请求转发到服务器。负载均衡器会缓存URL的哈希值,因此,后续使用同一URL的请求会命中缓存,并转发到同一台服务器。
- 源IP哈希:此算法使用客户端的源IP地址和目标IP地址生成唯一的哈希键,将客户端与特定服务器关联。会话断开后可以重新生成该键,因此重新连接请求可重定向到之前使用的同一台服务器。
- 一致性哈希:此算法将客户端和服务器映射到一个环形结构上,并根据每台服务器的容量在环上为其分配多个点。当客户端请求到达时,系统会对其进行哈希运算,将其映射到环上的某个点,然后沿顺时针方向将其动态路由到下一台可用服务器。
负载均衡如何工作?
负载均衡通过静态或动态响应用户请求,将请求分发到能够处理该请求的某台后端服务器。如果其中一台服务器发生故障,负载均衡器会将流量重定向到其余在线服务器。
负载均衡示例
静态负载均衡示例:某公司托管了一个内容基本固定的网站。由于流量需求可预测且较为稳定,此场景非常适合使用静态负载均衡器。该公司可以使用两台(或更多)相同的Web服务器,由静态负载均衡器在这些服务器之间分配流量。
动态负载均衡示例:某公司面临流量激增、突增和下降的情况,其中一些可以预测,另一些则无法预测。此类组织可受益于动态负载均衡。例如,电商零售商公布黑色星期五的营业时间和日期;医疗保健公司刚刚宣布可在线预约季节性疫苗接种;政府失业事务机构要求失业保险领取者每周在指定日期提交申领申请;救援组织可能需要针对自然灾害迅速开展在线响应。部分流量和需求的激增与突增可以提前规划,但有些无法预测。在这些情况下,动态负载均衡算法有助于确保客户和用户在最需要时能够访问应用和资源。
不同类型的负载均衡器
具有不同功能的各类负载均衡器位于一种称为开放系统互连(OSI)模型的架构中。该模型分为7层。网络防火墙位于第1层至第3层(L1,即物理层;L2,即数据链路层;L3,即网络层)。负载均衡则在第4层至第7层实现(L4,即传输层;L5,即会话层;L6,即表示层;L7,即应用层)。负载均衡器通常用于第4层和第7层。
- 第4层负载均衡器根据网络层和传输层协议(IP、TCP、FTP、UDP)的数据转发流量。IP层负载均衡是指这样一种部署方式:向网站客户端公布负载均衡器的IP地址,因此该地址会被记录为目标地址。负载均衡器收到请求后,会将记录的目标IP地址更改为其所选内容服务器的IP地址。
- 第7层负载均衡器根据应用层协议中的数据分发请求,例如HTTP标头、Cookie、统一资源标识符、SSL会话ID和HTML表单数据。它们还支持根据应用消息本身的数据(例如特定参数的值)做出路由决策。第7层为负载均衡增加了内容交换功能。
基于云的负载均衡器
基于云的负载均衡器不仅可以在流量激增时控制流量和优化服务器使用,还能提供预测分析,帮助您提前直观了解可能出现的流量瓶颈,进而提供可付诸行动的洞察,帮助企业优化IT解决方案。
应用负载均衡:随着企业日益依赖应用性能和可用性,应用负载均衡可以帮助企业扩展业务、简化运营并节省成本。
全局服务器负载均衡:面对遍布全球的用户和客户,企业可以通过全局服务器负载均衡提高负载可用性,将用户引导至距离最近的端点。
DNS负载均衡:在域名系统(DNS)中配置域名,将用户对该域名的请求分发到一组服务器,这种做法称为DNS负载均衡。
网络负载均衡:应用交付控制器(ADC)是充当物理服务器代理的物理或虚拟设备,用于管理应用或网络功能,并依靠网络负载均衡解决方案提供支持。ADC还会使用其他技术,包括缓存、压缩和SSL处理卸载,以提升Web应用的性能。在常见配置中,ADC位于一组Web服务器和应用服务器前端,负责在这些服务器与其客户端之间协调请求和响应,从而使这组服务器在最终用户看来如同一台虚拟服务器。
HTTP(S)负载均衡:为优化资源利用率,将流量分配到多个Web服务器组或应用服务器组的技术称为HTTP(S)负载均衡。
内部负载均衡:内部负载均衡器内部负载均衡器分配到专用子网,不具有公共IP。它通常在服务器场内运行。
Diameter:Diameter负载均衡器将信令流量分配到网络中的多台服务器。实现这一目标的一种经济高效的方法是扩展Diameter控制平面,而不是数据传输层。(Diameter负载均衡也可以是静态或动态的。)
负载均衡器技术
还有其他类型的负载均衡器解决方案,既可单独使用,也可与云原生负载均衡器配合部署在同一网络中。以下是其中几种常见类型。
硬件负载均衡器:硬件负载均衡器是一种配备专用操作系统的物理设备,可通过编程将Web流量分配到多台应用服务器,通常部署在本地。
软件负载均衡器:软件负载均衡器的工作方式与物理负载均衡器类似,但它运行在软件程序上。该软件同时采用静态和动态负载均衡,可消除单点故障,确保应用在各种流量需求下保持可用。
虚拟负载均衡器:虚拟负载均衡器是一种结合了硬件负载均衡器和软件负载均衡器的负载均衡器。它使用应用交付控制器软件,帮助在后端硬件服务器之间分配网络流量负载。
F5如何提供帮助
- 选择符合贵组织需求的负载均衡器,对于确保系统持续可用并保持优化、数据可访问,以及提升用户和客户满意度至关重要。
- F5可满足贵组织的特定负载均衡器需求,提供从静态解决方案到集成式全球解决方案的多种选择,充分结合硬件、软件和云端负载均衡器的优势。F5可针对独特的业务需求提供相应的负载均衡算法或解决方案。
- F5 NGINX Plus和NGINX是性能出色的负载均衡解决方案,广泛应用于Dropbox、Netflix和Zynga等高流量网站。全球超过3.5亿个网站依靠NGINX Plus和NGINX Open Source快速、可靠且安全地交付内容。作为基于软件的应用交付控制器和负载均衡器,NGINX Plus的成本远低于功能相近的硬件解决方案。它集Web服务、负载均衡、缓存和媒体交付等功能于一体,是控制应用交付的理想选择。
- BIG-IP应用服务提供集成式解决方案,用于管理、扩展和优化数字应用服务。此外,BIG-IP Local Traffic Manager (LTM)提供静态和动态负载均衡功能,以消除单点故障。F5 BIG-IP DNS将跨应用的负载均衡扩展至全球范围,确保应用始终在线并能响应客户需求。
- F5 Distributed Cloud DNS Load Balancer提供简单易用的负载均衡解决方案和可靠的灾难恢复能力,让开发团队能够专注于推动业务创新。
- F5 Distributed Cloud App Connect通过安全连接任何类型环境(包括边缘环境)中的应用和服务,帮助实现负载均衡。
- F5提供全面的负载均衡解决方案套件,帮助优化应用、流量、数据和计算资源。

