什么是负载均衡器?不同类型的负载平衡算法

什么是负载均衡器?不同类型的负载平衡算法

负载平衡是网络或应用程序流量分布在服务器场或服务器池中的多个服务器上的过程。负载均衡器背后的基本思想是通过将客户端请求或流量路由到其他可能空闲的节点来避免计算节点过载。放置在客户端设备和后端服务器之间的网络设备或称为负载平衡器的软件。这些负责接收传入流量并将其路由到可以满足请求的服务器。

什么是负载均衡器?不同类型的负载平衡算法-美联科技

负载平衡已成为企业跟上不断增长的需求并确保其应用程序为用户启动并运行的有效方式。今天的企业每分钟都会收到成百上千的客户对其网站和应用程序的请求。在旺季或几个小时内,这种流量可能会飙升得更多。服务器面临着跟上和响应高质量媒体的压力,包括照片、视频和其他应用程序数据。这些应用程序中的任何中断或停机都可能导致体验低于标准并拒绝用户,从而导致利润损失。

什么是负载均衡器?

负载均衡器是网络中分析传入请求并将其转移到相关服务器的设备或进程。负载均衡器可以是网络中的物理设备、运行在专用硬件(虚拟负载均衡器)上的虚拟化实例,甚至是软件进程。它还可以集成到应用交付控制器 (ADC) 中——旨在提高一般应用性能和安全性的网络设备。

为了确保用户获得一致的体验,负载均衡器遵循开放系统互连 (OSI) 模型。OSI 是一套不依赖于底层内部结构或技术的系统通信功能标准。根据这个模型,负载平衡应该发生在两层,以获得最佳和一致的用户体验。

第 4 层 (L4) 负载平衡器

这些负载平衡器根据它们使用的 TCP 或 UDP 端口以及它们的源和目标的 IP 地址来决定如何路由流量数据包。L4 负载平衡器不检查数据包的实际内容,而是在称为网络地址转换的过程中将 IP 地址映射到正确的服务器。

什么是负载均衡器?不同类型的负载平衡算法-美联科技

第 7 层 (L7) 负载平衡器

L7 负载均衡器作用于应用层,能够检查 HTTP 标头、SSL 会话 ID 和其他数据,以决定将传入请求路由到哪些服务器以及如何路由。由于它们需要额外的上下文来理解和处理客户端对服务器的请求,因此 L7 负载均衡器在计算上比 L4 负载均衡器更占用 CPU,但因此效率更高。

还有另一种类型的负载平衡称为全局服务器负载平衡。这将 L4 和 L7 负载均衡器的功能扩展到多个数据中心,以便在不对最终用户的服务产生负面影响的情况下分配大量流量。这些对于处理来自分布在不同地区的云数据中心的应用程序请求也特别有用。

负载均衡简史

负载平衡在 1990 年代作为硬件设备在网络上分配流量而受到重视。随着互联网技术和连接性的迅速提高,Web 应用程序变得更加复杂,它们的需求超出了单个服务器的能力。需要找到更好的方法来处理对类似资源的多个请求,并在服务器之间有效地分配它们。这就是负载均衡器的起源。

由于负载平衡允许 Web 应用程序避免依赖单个服务器,因此它还有助于轻松扩展这些应用程序,使其超出单个服务器所能支持的范围。很快,其他功能也得到了发展,包括提供持续健康检查的能力、基于应用程序内容的智能分发和其他专业功能。

什么是负载均衡器?不同类型的负载平衡算法-美联科技

2000 年代初期 ADC 的兴起是应用程序负载平衡历史上的一个重要里程碑。ADC 是为提高应用程序性能而开发的网络设备,应用程序负载平衡成为实现这一目标的方法之一。但它们很快就会发展到涵盖更多应用服务,包括压缩、缓存、身份验证、Web 应用防火墙和其他安全服务。

负载平衡和云计算

随着云计算慢慢开始主导应用程序交付,ADC 也随之发展。从硬件设备开始,ADC 也采取了虚拟机的形式,其软件从传统硬件甚至纯软件负载平衡器中提取。软件 ADC 执行与其硬件对应物类似的任务,但也提供更多功能和灵活性。它们允许组织在云环境中快速扩展应用程序服务以满足需求高峰,同时保持安全性。

负载平衡如何工作?

负载均衡器可以采用网络中的硬件设备的形式,也可以是纯软件定义的进程。无论它们以哪种形式出现,它们都通过根据各种条件将网络流量分配到不同的 Web 服务器来工作,以防止任何一台服务器过载。

想想负载平衡器,比如交通警察,将繁忙的交通重定向到不那么拥挤的车道以避免拥堵。负载平衡器有效地管理应用服务器和端点设备(如 PC、笔记本电脑或平板电脑)之间的无缝信息流。有问题的服务器可以在本地、数据中心或云中。如果没有负载平衡器,单个服务器可能会不堪重负,应用程序可能会变得无响应,从而导致响应延迟、使用体验不佳和收入损失。

什么是负载均衡器?不同类型的负载平衡算法-美联科技

负载均衡器工作的确切机制取决于它们是硬件设备还是软件。

硬件与软件负载平衡

基于硬件的负载平衡器通过使用本地硬件和物理设备来分配网络负载。它们能够处理大量网络流量和高性能应用程序。硬件负载均衡器还可能包含内置虚拟化,将许多实例整合到同一设备中。

由于它们使用专门的处理器来运行软件,因此它们提供了快速的吞吐量,同时对网络或应用程序服务器的物理访问的需求提高了安全性。不利的一面是,硬件负载平衡器的成本可能很高,因为它需要购买物理机器和付费顾问来配置、编程和维护硬件。

软件负载平衡如何工作?

另一方面,基于软件的负载均衡器可以提供与硬件负载均衡器相同的好处,同时替换昂贵的硬件。它们可以在任何标准设备上运行,从而节省空间和硬件成本。软件负载均衡器提供了更大的灵活性,可以根据不断变化的需求进行调整,并且可以通过添加更多软件实例来帮助您扩展容量。它们还可以轻松地在托管的异地解决方案或具有内部托管的混合模型中用于云上的负载平衡。

DNS 负载平衡是一种软件定义的负载平衡方法。在这里,客户端对域名系统 (DNS) 中的域的请求分布在各种服务器上。每次 DNS 系统响应新的客户端请求时,它都会发送不同版本的 IP 地址列表。这确保了 DNS 请求被平均分配到不同的服务器以处理整体负载。通过自动删除无响应的服务器,DNS 负载平衡允许自动故障转移或备份到工作服务器。

什么是负载均衡器?不同类型的负载平衡算法-美联科技

不同类型的负载平衡算法

网络负载平衡器使用多种方法或技术来管理和分配负载。它们在确定哪个应用程序服务器应该接收每个客户端请求时使用的算法不同。五种最常见的负载平衡方法是:

循环赛

在这种方法中,传入的请求会周期性地转发到每个服务器。当它到达最后一个服务器时,从第一个服务器开始重复循环。它是最简单的实现方法之一,但可能不是最有效的,因为它假设所有服务器都具有相似的容量。该方法还有两个其他变体——加权循环和动态循环——可以针对这个假设进行调整。

IP 哈希

这是一种相对简单的负载平衡方法,其中客户端的 IP 地址确定哪个服务器接收其请求。它使用一种算法来生成唯一的散列密钥,或源和目标 IP 地址的加密版本。然后使用此密钥将客户端的请求分配给特定的服务器。

最少的连接

在最少连接方法中,流量被转移到具有最少活动连接的服务器。此方法非常适合流量大的情况,有助于在所有可用服务器之间平均分配流量。

最短响应时间

在最短响应时间方法中,流量被定向到满足两个条件的服务器——它应该具有最少的活动连接数量和最低的平均响应时间。

什么是负载均衡器?不同类型的负载平衡算法-美联科技

最小带宽

在这种方法中,负载均衡器查看服务器在过去 14 秒内的带宽消耗(以 Mbps 为单位)。选择消耗最少带宽的那个来发送客户端请求。

负载平衡的好处

归根结底,负载均衡是为了帮助企业有效地管理网络流量和应用程序负载,以便为最终用户提供可靠、一致的体验。在这样做时,负载平衡器提供了以下好处。

满足流量高峰的可扩展性

负载平衡可帮助企业掌握流量波动或峰值,并增加或减少服务器以满足不断变化的需求。这有助于企业利用客户需求的突然增加来增加收入。例如,电子商务网站可能会在假期和促销期间出现网络流量高峰。扩展服务器容量以平衡其负载的能力可能是新客户或保留客户的销售增长与不满意客户造成的重大流失之间的区别。

冗余以最大程度地减少停机时间

网站服务器在出现前所未有的流量高峰时发生故障的情况并不少见。但是,如果您可以在多个 Web 服务器上维护网站,则可以限制任何单个服务器上的停机时间可能造成的损害。负载平衡可帮助您在某个服务器发生故障时自动将网络负载转移到工作服务器,从而增加一层自动化以使您的工作负载现代化。您可以将一台服务器保持在主动模式以接收流量,而另一台则保持在被动模式,准备好在主动模式失败时上线。这种安排为企业提供了保证,即一台服务器将始终处于活动状态以处理硬件故障实例。

什么是负载均衡器?不同类型的负载平衡算法-美联科技

执行维护的灵活性

暂时将流量转移到被动服务器的能力还允许开发人员灵活地对故障服务器执行维护工作。您可以将所有流量指向一台服务器并将负载均衡器设置为活动模式。然后,您的 IT 支持团队可以在无源服务器上执行软件更新和补丁程序,在生产环境中进行测试,并在一切正常后将服务器切换到活动状态。

主动故障检测

负载平衡可帮助企业检测服务器中断并通过将资源分配给未受影响的服务器来绕过它们。这使您可以有效地管理服务器,尤其是当它们分布在多个数据中心和云提供商之间时。在软件负​​载均衡器的情况下尤其如此,它可以利用预测分析在潜在的流量瓶颈发生之前发现它们。

DDoS 攻击缓解

负载均衡器在服务器之间分配流量的能力也有助于防御分布式拒绝服务 (DDoS) 攻击。当单个服务器因DDoS 攻击而过载时,负载均衡器通过将流量重新路由到其他服务器并减少攻击面来提供帮助。通过这种方式,负载平衡消除了单点故障,并使您的网络能够抵御此类攻击。

负载平衡作为一项技术随着时间的推移而发展,并且仍然是企业提供不间断用户体验的重要方式。除了 IT 团队减少停机时间和高可用性的好处之外,负载平衡还为企业提供了扩展资源、满足客户需求和创造收入的新机会。

客户经理