云负载平衡被定义为在云计算中拆分工作负载和计算属性的方法。它使企业能够通过在众多计算机、网络或服务器之间分配资源来管理工作负载需求或应用程序需求。云负载平衡包括保持工作负载流量和 Internet 上存在的需求的流通。
随着互联网上的流量快速增长,每年大约是目前流量的 100%。因此,服务器上的工作负载增长如此之快,导致主要用于流行 Web 服务器的服务器过载。有两种基本的解决方案可以克服服务器过载的问题——
- 第一种是单服务器解决方案,其中服务器升级为更高性能的服务器。但是,新服务器也可能很快就会过载,需要再次升级。此外,升级过程艰巨且昂贵。
- 二是多服务器解决方案,在服务器集群上构建可扩展的服务系统。这就是为什么为网络服务构建服务器集群系统更具成本效益和可扩展性的原因。
负载平衡对几乎所有类型的服务都有好处,例如 HTTP、SMTP、DNS、FTP 和 POP/IMAP。它还通过冗余提高了可靠性。平衡服务由专用硬件设备或程序提供。基于云的服务器群可以使用服务器负载平衡获得更精确的可扩展性和可用性。
负载均衡解决方案可以分为两种类型 –
- 基于软件的负载平衡器:基于软件的负载平衡器在标准硬件(台式机、PC)和标准操作系统上运行。
- 基于硬件的负载平衡器:基于硬件的负载平衡器是包含适用于特定用途的专用集成电路 (ASIC) 的专用盒子。 ASIC 允许高速提升网络流量,并且经常用于传输级负载平衡,因为与软件解决方案相比,基于硬件的负载平衡速度更快。
负载均衡器的主要示例 –
- 直接路由请求分派技术:这种请求分派方法类似于 IBM 的 Net Dispatcher 中实现的方法。真实服务器和负载平衡器共享虚拟 IP 地址。在这种情况下,负载均衡器采用一个由虚拟 IP 地址构造的接口,用于接受请求数据包,并将数据包直接路由到选定的服务器。
- 基于调度程序的负载平衡集群:调度程序通过利用服务器可用性、工作负载、功能和其他用户定义的标准来调节发送 TCP/IP 请求的位置,从而实现智能负载平衡。负载均衡器的调度器模块可以在集群中的各个节点之间拆分 HTTP 请求。调度器将负载分摊到集群中的许多服务器之间,因此各个节点的服务看起来就像是一个只有 IP 地址的虚拟服务;消费者相互关联,就好像它是一个单独的服务器,而没有关于后端基础设施的信息。
- Linux Virtual Load Balancer:它是一种开源增强型负载均衡解决方案,用于构建可扩展性和可用性极高的网络服务,例如 HTTP、POP3、FTP、SMTP、媒体和缓存以及互联网协议语音 (VoIP)。它是用于负载平衡和故障转移的简单而强大的产品。负载均衡器本身是服务器集群系统的主要入口点,可以执行互联网协议虚拟服务器 (IPVS),它在 Linux 内核中实现传输层负载均衡,也称为第 4 层交换。
参考:
- https://searchcloudcomputing.techtarget.com/definition/cloud-load-balancing
- https://www.nginx.com/resources/glossary/cloud-load-balancing/