什么是负载均衡器?

负载均衡器能够在资源(本地或云)之间动态分配网络流量以支持应用。

负载均衡器是一种充当流量代理并在多个服务器的端点之间分配网络或应用流量的解决方案。 负载均衡器用于在高峰流量时段分配容量,并提高应用的可靠性。 它们通过减轻单个服务或云的负担来提高应用的整体性能,并将需求分配到不同的计算表面上,以帮助维护应用和网络会话。 

现代应用必须同时处理数百万个会话,并以快速可靠的方式向每个用户返回正确的文本、视频、图像和其他数据。 为了处理如此大的流量,大多数应用都拥有许多资源服务器,其中有重复的数据。

负载平衡在支持应用的资源网络之间动态分配网络流量。 负载均衡器是位于用户和服务器组之间的设备或服务,充当隐形的促进者,确保所有资源服务器都得到平等使用。 负载平衡器有助于提高可靠性和可用性,即使在高使用率和需求时也能确保更长的正常运行时间和更好的用户体验。

在某些情况下,必须将客户端的所有请求在会话期间发送到同一台服务器,例如当客户端将商品放入购物车然后完成购买时。 维持客户端和服务器之间的连接称为会话持久性。 如果没有会话持久性,信息就必须跨服务器同步,并且可能需要多次获取,从而导致性能效率低下。

负载平衡的好处

用户和客户依赖近乎实时的能力来查找信息和进行交易。 即使在高峰需求和使用时间,滞后或不可靠且不一致的响应也可能永远拒绝客户。 如果传入的需求或“负载”太高而无法轻易满足,则计算需求的高峰可能会对内部服务器或服务器系统造成严重破坏。 

使用负载均衡器的优点包括:

  • 应用可用性: 内部和外部用户都需要能够依赖应用的可用性。 如果应用或功能出现故障、滞后或冻结,就会浪费宝贵的时间,并且会产生潜在的摩擦源,导致客户转向竞争对手。
  • application可扩展性: 假设你经营一家票务公司,并宣布将在某个日期和时间发售一场热门演出的门票。 可能有数千甚至更多的人尝试访问您的网站购买门票。 如果没有负载均衡器,您的网站将会被限制在单个/第一个服务器可以容纳的范围内——在需求如此之大的情况下,这可能不会有太大的影响。 相反,您可以使用负载均衡器将请求和流量引导至其他可用的计算面,以应对这种流量激增的情况。 这意味着更多的顾客可以获得他们想要的票。
  • application安全性: 负载均衡还允许组织扩展其安全解决方案。 主要方法之一是将流量分散到多个后端系统,这有助于最大限度地减少攻击面,并使耗尽资源和饱和链接变得更加困难。 如果一个系统存在漏洞或受到损害,负载均衡器还可以将流量重定向到其他系统。 此外,如果某个服务器变得脆弱,负载均衡器可以通过重新路由服务器之间的流量来提供针对 DDoS 攻击的额外保护。
  • 应用性能: 通过执行上述所有操作,负载均衡器可以提高应用的性能。 通过提高安全性、优化正常运行时间以及通过满足高峰需求实现可扩展性,负载均衡器可以让您的应用按照设计的方式运行,并且按照您和您的客户所希望的方式运行。

负载平衡算法

就其运行方式而言,负载均衡算法有两种类型:静态和动态。 静态负载均衡使用具有有关分布式网络中现有服务器的性能容量信息的算法来测量服务器上的传入负载。 动态负载均衡可以动态识别运行时需要减轻的负载量以及哪个系统应该承担负载。  它是为输入负载波动较大的系统设计的。 

以下是一些常见的负载均衡算法类型。

  • 循环赛: 该算法使用域名系统 (DNS)将流量轮流发送到服务器列表。 (笔记: DNS负载均衡也可以是一种动态解决方案。)
  • 临界点: 该算法根据管理员设置的阈值分配任务。
  • 随机有两种选择: “二的幂”算法随机选择两台服务器,然后通过应用最少连接算法或最少时间算法(如果配置的话)将请求发送到选定的服务器。
  • 最少连接数: 新的请求被发送到当前与客户端连接最少的服务器。 每个服务器的相对计算能力被考虑用于确定哪个服务器的连接数最少或者哪个服务器使用的带宽或资源最少。
  • 最少時間: 在该算法中,请求被发送到根据最快响应时间和最少活动连接相结合的公式选择的服务器。 
  • URL 哈希: 该算法根据客户端请求中的 URL 生成哈希值。 请求根据哈希值转发到服务器。 负载均衡器会缓存 URL 的哈希值,因此使用相同 URL 的后续请求将导致缓存命中,并被转发到同一台服务器。
  • 源 IP 哈希: 该算法使用客户端的源和目标 IP 地址生成唯一的哈希键,以将客户端与特定服务器绑定。 由于会话断开时可以重新生成密钥,因此允许重新连接请求重定向到以前使用的同一服务器。
  • 一致性哈希: 该算法将客户端和服务器映射到环结构上,每个服务器根据其容量在环上分配多个点。 当客户端请求到达时,它会被散列到环上的某个点,然后顺时针动态路由到下一个可用的服务器。

负载平衡如何工作?

负载平衡通过静态或动态响应用户请求,并将该请求分发到能够满足该请求的后端服务器之一来工作。 如果其中一台服务器出现故障,负载均衡器会将流量重定向到剩余的在线服务器。

负载平衡示例

静态负载均衡示例: 一家公司托管一个网站,其内容大部分是静态的。 这种场景对于静态负载均衡器来说是理想的,因为流量需求是可预测且一致的。 公司可以使用两个(或更多)相同的 Web 服务器,静态负载均衡器可以在这些服务器之间分配流量。

动态负载均衡的示例: 一家公司的流量会经历激增、高峰和下降。 有些是可以预测的,有些则不能。 这些组织将受益于动态负载均衡。 这些公司可能包括一家宣布“黑色星期五”营业时间和日期的电子商务零售商;一家刚刚宣布可以安排季节性疫苗在线预约的医疗保健公司;一家要求失业保险受助人在每周的某一天提交每周申请的政府失业机构;一家可能需要对自然灾害进行快速在线反应的救援组织。 有些流量和需求的激增和高峰是可以规划的,但有些则不能。 在这些场景中,动态负载均衡算法将有助于确保在客户和用户最需要时访问应用程序和资源。

不同类型的负载均衡器

具有不同功能的不同类型负载均衡器存在于称为开放系统互连 (OSI)模型的体系结构中。 该模型共有七层。 网络防火墙分为一至三级(L1-物理布线、L2-数据链路和L3-网络)。 同时,负载均衡发生在四到七层(L4传输,L5会话,L6表示和L7应用)。 负载均衡器一般用在第4层和第7层。 

  • 第 4 层负载均衡器根据来自网络和传输层协议(IP、TCP、FTP、UDP)的数据引导流量。 IP 层的负载均衡是指将负载均衡器的 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。 它通常在服务器场内工作。

直径: 直径负载均衡器将信令流量分配到网络中的多个服务器之间。 最具成本效益的方法之一是扩展直径控制平面而不是数据传输层。 (直径负载均衡也可以是静态的或动态的。)

负载均衡器技术

还有其他类型的负载均衡器解决方案,可以单独使用或在具有云原生负载均衡器的网络中使用。 以下是一些值得注意的类型。

硬件负载均衡器: 硬件负载均衡器是一种具有专门操作系统的物理设备,可以进行编程以在多个应用服务器(通常是本地服务器)之间分配网络流量。 

软件负载均衡器: 软件负载均衡器的运行方式与物理负载均衡器类似,但它运行在软件程序上。 该软件使用静态和动态负载均衡来消除单点故障,从而确保应用程序在各种流量需求下都可用。

虚拟负载均衡器: 一种结合了硬件和软件负载均衡器的负载均衡器是虚拟负载均衡器。 它使用应用交付控制器软件来帮助在硬件后端服务器之间分配网络流量负载。

F5 如何提供帮助

  • 找到适合您组织需求的负载均衡器对于保持系统可用和优化、数据可访问以及用户和客户满意至关重要。
  • F5 可以满足您组织的特定负载均衡器需求,从静态解决方案到融合了硬件、软件和基于云的负载均衡器优势的集成全局解决方案。 F5 拥有适合您独特业务需求的负载均衡算法或解决方案。
  • F5 NGINX PlusNGINX是 Dropbox、Netflix 和 Zynga 等高流量网站使用的一流的负载均衡解决方案。 全球有超过3.5 亿个网站依靠 NGINX Plus 和 NGINX Open Source 快速、可靠、安全地传递其内容。 作为基于软件的应用交付控制器和负载均衡器,NGINX Plus 比具有类似功能的硬件解决方案便宜得多。 它结合了 Web 服务、负载均衡、缓存、媒体传输等功能,是控制应用传输的理想选择。
  • BIG-IP应用服务提供集成解决方案来管理、扩展和优化您的数字应用服务。 BIG-IP 本地流量管理器(LTM) 包括静态和动态负载均衡,以消除单点故障。 F5 BIG-IP DNS在应用之间实现负载均衡并将其应用于全球,确保您的应用正常运行并响应客户的需求。 
  • F5 分布式云 DNS 负载均衡器提供具有可靠灾难恢复功能的简单负载均衡解决方案,因此您的开发团队可以专注于帮助您的企业进行创新。
  • F5 分布式云应用连接可通过在任何类型的环境(包括边缘)中安全地连接您的应用和服务来帮助实现负载均衡。
  • F5 提供全面的负载均衡解决方案,以保持您的应用、流量、数据和计算面处于优化状态。