云计算中的负载均衡

2024年8月28日 | 阅读 7 分钟

负载均衡是允许您在不同设备或硬件设备上正在进行的任务量之间实现适当平衡的方法。通常,设备的工作负载会在不同的服务器之间,或者在单个云服务器的 CPU 和硬盘驱动器之间进行平衡。

引入负载均衡有多种原因。其中之一是提高每台设备的运行速度和性能,另一个是减少性能降低,以保护单台设备免于达到其极限。

云负载均衡定义为在云计算中划分工作负载和计算属性。它使企业能够通过将资源分配给多台计算机、网络或服务器来管理工作负载需求或应用程序需求。云负载均衡涉及管理互联网上工作负载流量和需求的移动。

互联网流量正在快速增长,几乎占当前年流量的 100%。因此,服务器上的工作负载正在迅速增加,导致服务器过载,特别是对于热门的 Web 服务器。有两种主要解决方案可以克服服务器过载问题:

  • 第一种是单服务器解决方案,其中服务器升级为性能更高的服务器。然而,新服务器也可能很快过载,需要再次升级。此外,升级过程既困难又昂贵。
  • 第二种是多服务器解决方案,其中构建了一个基于服务器集群的可扩展服务系统。这就是为什么为网络服务构建服务器集群系统更具成本效益且更具可扩展性。

通过使用服务器场负载均衡,云服务器可以实现更精确的可扩展性和可用性。负载均衡对于几乎任何类型的服务都有益,例如 HTTP、SMTP、DNS、FTP 和 POP/IMAP。

它还通过冗余增加了可靠性。专用硬件设备或程序提供均衡服务。

云计算中负载均衡算法的不同类型

1. 静态算法

静态算法是为负载变化非常小的系统构建的。在静态算法中,所有流量平均分配给服务器。此算法需要深入了解服务器资源,以实现更好的处理器性能,该性能在实施开始时确定。

然而,负载转移的决定并不依赖于系统的当前状态。静态负载均衡算法的一个主要缺点是负载均衡任务仅在创建后才能工作。它不能应用于其他设备进行负载均衡。

2. 动态算法

动态算法首先找到整个网络中最轻的服务器,并优先分配负载均衡任务。这需要与网络进行实时通信,这有助于增加系统的流量。在此,使用系统的当前状态来控制负载。

动态算法的特点是根据当前系统状态做出负载转移决策。在此系统中,进程可以实时地从高使用率的机器转移到利用率低的机器。

3. 轮循算法

顾名思义,轮循负载均衡算法使用轮循方法分配任务。首先,它随机选择第一个节点,并以轮循方式将任务分配给其他节点。这是最简单的负载均衡方法之一。

处理器以圆形方式分配每个进程,而不定义任何优先级。在进程之间均匀分配工作负载的情况下,它会快速响应。所有进程的加载时间都不同。因此,一些节点可能会负载过重,而其他节点可能仍未充分利用。

4. 加权轮循负载均衡算法

加权轮循负载均衡算法的开发是为了解决轮循算法最棘手的问题。在该算法中,存在一组指定的权重和函数,这些函数根据权重值进行分配。

容量较高的处理器被赋予较高的值。因此,负载最重的服务器将获得更多任务。当达到满载水平时,服务器将接收稳定的流量。

5. 机会主义负载均衡算法

机会主义负载均衡算法允许每个节点都保持忙碌。它从不考虑每个系统的当前工作负载。无论每个节点上的当前工作负载如何,OLB 都会将所有未完成的任务分发给这些节点。

处理任务将作为 OLB 缓慢执行,并且它不计算节点的执行时间,这会导致一些瓶颈,即使有些节点是空闲的。

6. 最小到最小负载均衡算法

在最小到最小负载均衡算法中,首先,那些任务需要最短的时间来完成。其中,从所有函数中选择最小值。根据最短时间,在机器上安排工作。

其他任务在机器上更新,并且任务从列表中移除。这个过程将继续直到给出最终分配。该算法在许多小型任务比大型任务更重要的地方效果最好。

负载均衡解决方案可分为两种类型:

  • 基于软件的负载均衡器:基于软件的负载均衡器运行在标准硬件(台式机、PC)和标准操作系统上。
  • 基于硬件的负载均衡器:基于硬件的负载均衡器是专用设备,包含针对特定用途优化的专用集成电路 (ASIC)。ASIC 允许以高速度处理网络流量,并且通常用于传输级负载均衡,因为基于硬件的负载均衡比软件解决方案更快。

主要负载均衡器示例 -

  • 直接路由请求分派技术:这种请求分派方法类似于 IBM 的 NetDispatcher 中实现的。实际服务器和负载均衡器共享一个虚拟 IP 地址。负载均衡器采用一个带有虚拟 IP 地址的接口,该接口接受请求数据包并将数据包直接路由到选定的服务器。
  • 基于调度器的负载均衡集群:调度器使用服务器可用性、工作负载、容量和其他用户定义的参数进行智能负载均衡,以控制 TCP/IP 请求的发送位置。负载均衡器的调度器模块可以将 HTTP 请求分配到集群中的不同节点。调度器将负载分配到集群中的多个服务器,因此来自不同节点的服务就像只有一个 IP 地址的虚拟服务;消费者连接起来,就好像它们是一个服务器一样,而无需了解后端基础设施。
  • Linux 虚拟负载均衡器:这是一个开源的增强负载均衡解决方案,用于构建高度可扩展和高可用的网络服务,如 HTTP、POP3、FTP、SMTP、媒体和缓存,以及实现网络语音电话 (VoIP)。它是一个简单而强大的产品,专为负载均衡和故障转移而设计。负载均衡器本身是服务器集群系统的主要入口点。它可以执行 Internet Protocol Virtual Server (IPVS),该协议在 Linux 内核中实现传输层负载均衡,也称为第 4 层交换。

负载均衡的类型

您需要了解网络中不同类型的负载均衡。服务器负载均衡用于关系数据库,全局服务器负载均衡用于不同地理位置的故障排除,DNS 负载均衡可确保域名功能。负载均衡也可以基于云负载均衡器。

网络负载均衡

云负载均衡利用网络层信息并根据这些信息决定网络流量应发送到何处。这通过第 4 层负载均衡来实现,该负载均衡处理 TCP/UDP 流量。它是最快的本地均衡解决方案,但它无法平衡服务器之间的流量分布。

HTTP(S) 负载均衡

HTTP(s) 负载均衡是最古老的负载均衡类型,它依赖于第 7 层。这意味着负载均衡在操作层上运行。它是最灵活的负载均衡类型,因为它允许您基于从 HTTP 地址检索的信息做出交付决策。

内部负载均衡

它与网络负载均衡非常相似,但用于在内部平衡基础设施。

负载均衡器还可以进一步分为硬件、软件和虚拟负载均衡器。

硬件负载均衡器

它依赖于分配网络和应用程序流量的基础和物理硬件。该设备可以处理大量流量,但价格昂贵且灵活性有限。

软件负载均衡器

它可以是开源或商业形式,并且必须先安装才能使用。这些比硬件解决方案更经济。

虚拟负载均衡器

它与软件负载均衡器的不同之处在于,它将软件部署到虚拟机上的硬件负载均衡设备上。

为什么云负载均衡在云计算中很重要?

以下是负载均衡在云计算中的一些重要性。

提供更好的性能

负载均衡技术成本较低且易于实施。这使公司能够更快地处理客户端应用程序,并以较低的成本交付更好的结果。

有助于维持网站流量

云负载均衡可以提供可扩展性来控制网站流量。通过使用有效的负载均衡器,可以管理高端流量,这是通过网络设备和服务器实现的。每秒需要处理大量访问者的电子商务公司使用云负载均衡来管理和分发工作负载。

能够处理突然的流量激增

负载均衡器可以处理一次收到的任何突然的流量激增。例如,在大学出成绩的情况下,网站可能会因为请求过多而崩溃。当使用负载均衡器时,就不需要担心流量的流动。无论流量大小如何,负载均衡器都会将网站的全部负载平均分配到不同的服务器上,并在最短响应时间内提供最大结果。

更高的灵活性

使用负载均衡器的主要原因是为了保护网站免受突然崩溃。当工作负载分布在不同的网络服务器或单元之间时,如果一个节点发生故障,负载就会转移到另一个节点。它提供了灵活性、可扩展性以及更好地处理流量的能力。

由于这些特性,负载均衡器在云环境中很有益。这是为了避免单个服务器上的繁重工作负载。

结论

成千上万的人同时访问一个网站。这使得应用程序很难同时管理来自这些请求的负载。有时这可能导致系统故障。