最新最全的游戏资讯新闻内容分享。
您的位置:主页 > 新闻 > 内容:平衡器说明书,主动式负载平衡器说明书

平衡器说明书,主动式负载平衡器说明书

时间:2021-06-06 09:31:48来源:https://www.fangfengyichenwang.com.cn

导读 : 什么是负载平衡?随着网站或业务应用压力的增加,最终,单一服务器无法支持所有工作负载。为了满足需求,组织将工作负载分配给多台服务器。这种被称为“负载平衡”的实践可以防止单个服务器过度工作,这...

什么是负载平衡?

随着网站或业务应用压力的增加,最终,单一服务器无法支持所有工作负载。为了满足需求,组织将工作负载分配给多台服务器。这种被称为“负载平衡”的实践可以防止单个服务器过度工作,这可能导致它变慢、放弃请求,甚至崩溃。

负载平衡允许您平均分配网络流量,以防止因特定资源过载而导致的故障。这种策略可以提高应用程序、网站、数据库和其他计算资源的性能和可用性。它还有助于快速准确地处理用户请求。

从用户的角度来看,负载平衡在客户端和一组服务器之间充当了一个不可见的促进者,确保连接请求不会丢失。如果没有负载平衡,当需求过高时,应用程序、网站、数据库和在线服务可能会失败。一个高流量的网站可以同时处理数百或数千个用户请求。它需要多个服务器来准确填充包含所需信息的网页,包括文本、照片、视频和音频流。

在运行高流量网站的服务器场中,您经常会发现负载平衡:它也用于域名系统(DNS)服务器、数据库和文件传输协议(FTP)站点。如果一台服务器处理太多流量,它可能会表现不佳或最终崩溃。通过在一组服务器之间均匀地路由用户请求,负载平衡器将停机的可能性降至最低。如果出现故障,他们会将流量重新路由到组中的其他服务器。当新服务器添加到服务器池中时,负载平衡器会自动将其包括在流量分配过程中。

负载平衡就像一个“交通警察”,给潜在的混乱带来秩序。在某些环境中,如应用程序和虚拟基础架构,负载平衡还会执行运行状况检查,以确保可用性并防止可能导致停机的问题。负载平衡甚至可以在易于管理的服务器群中提供集中的安全性。

负载平衡执行以下关键任务:

在一台服务器上管理流量峰值并防止峰值。最大限度地缩短用户请求响应时间,并确保提高物理和虚拟计算资源的性能和可靠性

冗余和对计算环境的适应能力

它的工作原理

负载平衡器使用预先确定的模式,称为负载平衡算法方法。这可确保没有一台服务器必须处理比处理更多的流量。不同的算法使用不同的技术管理过程。因此,在决定使用何种类型的负载平衡器时,您可以选择多种选项。




以下是负载平衡器的工作原理基础知识:


  1. 客户端(如应用程序或浏览器)收到请求并尝试与服务器连接。
  2. 负载平衡器接收请求,并且根据算法的预设模式,将请求路由到服务器组(或群场)中的服务器之一。
  3. 服务器接收连接请求并通过负载平衡器响应客户端。
  4. 负载平衡器接收响应,并将客户端的 IP 与所选服务器的 IP 匹配。然后,它通过响应转发数据包。
  5. 在适用情况下,负载平衡器处理 SSL 卸载,这是使用安全套做层加密协议解密数据的过程,因此服务器不必这样做。
  6. 该过程重复,直到会话结束。

好处

如果您的组织运行接收大量查询的高流量网站、应用程序或数据库,则负载平衡可通过优化资源使用、数据交付和响应时间提供多种优势。在高流量环境中,负载平衡是使用户请求流畅、准确的原因。他们让用户免于与反应迟钝的应用程序和资源争吵的挫折感。




负载平衡在防止停机和简化安全性、降低组织生产力损失和利润损失的可能性方面也起着关键作用。


负载平衡的其他好处包括:


  • 灵活性:除了引导流量以最大限度地提高效率外,负载平衡还提供了按需求添加和删除服务器的灵活性。它还能够执行服务器维护,而不会对用户造成中断,因为流量在维护过程中被改道到其他服务器。
  • 可扩展性:随着应用程序或网站的使用增加,如果管理不当,流量的提升可能会阻碍其性能。通过负载平衡,您可以在不造成服务中断的情况下添加物理或虚拟服务器以满足需求。当新服务器联机时,负载平衡器会识别它们,并在此过程中无缝地将其包括在内。这种方法比将网站从超载服务器移动到新服务器更可取,这通常需要一定数量的停机时间。
  • 冗余:在通过一组服务器分配流量时,负载平衡提供内置冗余。如果服务器出现故障,您可以自动将负载重新路由到工作服务器,以最大限度地减少对用户的影响。

应用负载平衡

应用负载平衡通过跨多个目标分配用户请求来执行经典负载平衡器的功能。但与仅适用于 IP 地址的传统负载平衡器不同,应用程序负载平衡器侧重于内容,并考虑网址 Cookie 和 HTTP 标题内容,以确定发送每个用户请求的目标。




为了实现应用程序负载平衡,开发人员将"侦听器"编码到应用程序中,以便对特定事件(如用户请求)做出反应。听众根据每个请求的内容(例如查看应用程序的一般请求、加载应用程序特定部分的请求等)将请求路由到不同的目标。


应用负载平衡器还通过定期检查每个目标来执行健康检查,以确保它不会遇到任何问题。根据结果,负载平衡器将流量路由到健康目标,以确保用户请求得到满足,而不是被不健康的目标所阻碍。


硬件与软件负载平衡

在选择负载平衡器时,您可以在硬件和软件版本之间进行选择。


硬件负载平衡器

硬件负载平衡器由物理硬件(如设备)组成。这些直接流量到服务器基于以下标准:与服务器的现有连接数量、处理器利用率和服务器性能。


硬件负载平衡器包括专有的固件,随着新版本和安全修补程序的发布,这些固件需要维护和更新。硬件负载平衡器通常提供更好的性能和控制-同时提供更全面的功能,如Kerberos认证和SSL硬件加速-但需要一定程度的熟练程度,以适当的管理和维护。由于这些负载平衡器基于硬件,因此灵活性和可扩展性较低,因此存在过度配置硬件负载平衡器的趋势。


软件负载平衡器

软件负载平衡器通常比硬件版本更容易部署。它们也往往更具成本效益和灵活性,并且与软件开发环境结合使用。该软件方法为您提供了根据环境特定需求配置负载平衡器的灵活性。灵活性的提高可能以必须做更多的工作来设置负载平衡器为代价。与硬件版本相比,软件平衡器为您提供了更多的更改和升级自由。


软件负载平衡器可以以预包装虚拟机 (VMs) 的形式出现。VM 将为您节省一些配置工作,但可能无法提供硬件版本提供的所有功能。


软件负载平衡器既可作为需要配置和管理的可安装解决方案,也可以作为云服务提供负载平衡器(LBaas)。选择后者可以免除您对本地安装的服务器的日常维护、管理和升级:云提供商处理这些任务。


算法

为了完成他们的工作,加载平衡器使用算法(或数学公式)来决定服务器接收每个请求。算法各不相同,并考虑到流量是在网络上还是在应用层上路由。


负载平衡算法分为两大类-加权和非加权。加权算法使用基于重量或偏好的计算来做出决策(例如,重量更大的服务器接收更多的流量)。该算法不仅考虑了每个服务器的权重,还考虑了组中所有服务器的累积权重。


非加权算法没有做出这样的区分,而是假设所有服务器具有相同的容量。这种方法加快了负载平衡过程,但它无法为具有不同容量水平的服务器提供任何便利。因此,非加权算法无法优化服务器容量。


方法

每个负载平衡方法都依赖于一组标准来确定服务器群中的服务器群中的哪些服务器会获得下一个请求。有五种常见的负载平衡方法:


  • 循环赛:这是默认方法,它的功能与名称所暗示的一样。负载平衡器以旋转方式指示请求,组中的第一个服务器调试请求,然后移动到底部,等待轮到它再次调用。此技术可确保每个服务器处理大约相同数量的连接。
  • 加权循环赛:使用此方法,每个服务器都会分配一个重量(或偏好),通常与其容量相称。重量越高,服务器收到的请求就越多。例如,分配两个权重值的服务器接收的请求是分配一个值的服务器请求的两倍。
  • 粘性会话:此方法也称为会话持久性,在会话期间将特定客户端和服务器链接在一起。负载平衡器通过 Cookie 或跟踪用户的 IP 地址来识别用户属性与制作链接。建立链接后,用户的所有请求将发送到同一服务器,直到会话结束。这提高了用户体验,同时也优化了网络资源。
  • 最少连接:此方法假定所有请求生成等量的服务器负载。因此,处理请求数量最少的服务器会接收下一个请求。
  • IP 哈希:此算法基于客户端和服务器的源和目标 IP 地址创建唯一的哈希密钥。密钥用于路由请求,并允许使用同一服务器重新建立掉落的连接。

云中的负载平衡

负载平衡可以指平衡基于云的工作负载的过程,也可以指基于云本身的负载平衡器。在云环境中,云平衡的功能与其他环境中的功能大体相同,只是它与与公司基于云的工作负载及其跨多个资源(如服务器组和网络)的分布相关的流量有关。


平衡云工作负载与在任何其他上下文中平衡负载同样重要。最终目标是高可用性和高性能。工作负载由于偶数流量分布而表现更好,环境遭受中断的可能性就越小。


基于云的负载平衡器通常采用即用即付即付服务模式,支持高水平的弹性和灵活性。它们提供许多功能和好处,例如健康检查和控制谁可以访问哪些资源。这取决于供应商和您使用它们的环境。云负载平衡器可能使用一种或多种算法,即支持循环、加权循环和最少连接等方法,以优化流量分布和资源性能。


Docker容器群负载平衡

如果您运行的环境与多个Docker容器,你可以受益于应用负载平衡的容器。Docker是一个开源开发平台,它使用容器包装应用程序,以便跨运行 Linux 的系统实现便携性。Docker Swarm是开发人员和管理员用来创建或管理 Docker 节点集群作为单一虚拟系统的聚类和调度工具。


在 Docker Swarm 中,负载平衡和从集群中的任何容器的节点之间路由请求。Docker Swarm 设置了一个本地负载平衡器,以运行在每个节点上以处理入站请求以及节点之间的内部请求。


根据拓扑学,您可以在其单节点群上设置 Docker Swarm 外地负载平衡器,以路由源自集群外的请求。原生多克沼泽平衡器是一个基本的第4层版本。因此,它可能不提供您所需的所有功能,如 SSL/TLS 终止、访问控制和授权、基于内容的路由以及重写和重定向。在群集外添加平衡器有助于解决该问题。


负载平衡与聚类

负载平衡与聚类共享一些常见特征,但它们是不同的过程。聚类有用于数据存储或在 IT 环境中运行特定系统的一组资源(如服务器)组成。某些集群使用Kubernetes开源平台更高效地安排和分发容器。


聚类提供冗余,提高容量和可用性。聚类中的服务器相互了解,并朝着共同目标协同工作。但是,在负载平衡方面,服务器彼此之间并不了解。相反,他们对从平衡器收到的命令做出反应。您可以在聚类中使用负载平衡,但在涉及具有共同目的的独立服务器的情况下,负载平衡也适用-运行网站、业务应用程序、Web 服务或其他一些 IT 资源。


负载平衡和网络

当应用于网络时,负载平衡均匀地将服务器和客户端的请求分配给网络中的其他资源。网络负载平衡器使用 TCP/IP 协议在广域网 (WAN) 链接中分配流量。这支持网络连接会话,如电子邮件、Web 和文件传输。通过这样做,负载平衡会增加整个网络中所有用户的带宽。这最终提高了对其请求的响应能力。


与其他负载平衡器一样,当网络负载平衡器收到连接请求时,它会选择进行连接的目标。某些类型的连接(例如浏览器连接到网站时)需要针对网页上的文本、图像、视频和其他类型的内容进行单独会话。负载平衡处理这些并发会话,以避免任何性能和可用性问题。


网络负载平衡还提供网络冗余和故障转移。如果 WAN 链路出现中断,冗余使得仍可以通过次要链接访问网络资源成为可能。连接到负载平衡器的服务器不一定都位于同一位置,但如果设计得当,则这与负载平衡器执行其工作的能力无关。


网络负载平衡可实现业务连续性和故障转移,确保无论您组织的员工队伍在地理上多么分散,您都能够保持可接受的可用性和性能水平。


数据库

在数据库上下文中,负载平衡本身与数据库查询的分布有关,这些查询被路由到多个服务器以保持均匀流,并避免在大量并发请求时可能发生的问题。数据库负载平衡的好处与任何其他环境中(如应用程序、网络或 Docker Swarm)相同,包括提高可用性和性能以及加快响应时间。


数据库负载平衡通过确保查询在交易完成之前不会失败,有助于数据完整性。在发生故障转移时,当新的主服务器接管查询而不让它死亡时,数据完整性会保持。此过程通过最大限度地减少服务器故障导致的误差,提高了数据库的整体可靠性。


相关推荐:
最新阅览:
推荐:
猜你喜欢: