软件负载平衡是管理员如何将网络流量路由到不同的服务器。负载均衡器通过检查应用程序级别的特征(IP 地址、HTTP 标头和请求的内容)来评估客户端请求。然后负载平衡器查看服务器并确定将请求发送到哪个服务器。
它与硬件负载平衡有何不同?
软件负载平衡通常作为在标准服务器或虚拟机上运行的应用程序交付控制器 (ADC) 的功能提供。硬件负载平衡设备 (HLD) 是运行负载平衡软件的独立硬件。它传统上作为一对的一部分部署,以防一个负载平衡设备发生故障。软件负载平衡提供与 HLD 相同的功能,但它不需要专用的负载平衡设备。负载平衡软件可以在普通服务器甚至虚拟服务器上运行。
软件负载平衡的工作方式与硬件负载平衡相同,根据所选算法在服务器池之间分配流量。通过负载平衡将工作负载分布在多台服务器上可以使网络更加高效和可靠。负载平衡增加了网络的容量,因为它以更有效的方式使用可用服务器。结果,负载平衡使网络运行得更快,因为工作负载不会挂在过载的服务器上,而其他服务器则闲置。负载平衡还通过将流量从故障服务器引导到正常运行的服务器来确保服务器发生故障时不间断的正常运行时间。
负载均衡有哪些类型?
基于软件的负载均衡器可以直接安装到服务器上,也可以作为负载均衡器即服务 (LBaaS) 购买。对于 LBaaS,服务提供商负责安装、配置和管理负载平衡软件。基于软件的负载平衡器可以位于本地或外部。
与服务器一样,负载平衡设备可以是物理的或虚拟的。物理(硬件负载平衡)和虚拟(软件负载平衡)设备都实时评估客户端请求和服务器使用情况,并根据各种算法将请求发送到不同的服务器。流量发送到哪里取决于管理员设置的负载平衡策略。
负载均衡方法
负载均衡器使用以下方法之一来确定将网络流量发送到何处:
- 循环算法:循环算法是最简单的负载均衡方法。它只是以相同的顺序在可用服务器列表中移动请求。
- 最少连接算法:最少连接方法更复杂一些。它将请求发送到最不繁忙的服务器,或者在给定时刻处理最少工作负载的服务器。
- 最少时间算法:最少时间算法更进一步,根据最快的处理速度和最少的活动请求来选择服务器。这种方法可以集成加权负载平衡算法,这些算法始终优先考虑具有更高容量、计算或内存的服务器。
- 基于哈希的算法:最后是基于哈希的算法,负载均衡设备为客户端和服务器的源和目标 IP 地址分配一个唯一的哈希键。这可确保如果同一用户返回并发出另一个请求,该用户请求将被定向到他们之前使用的同一服务器。此外,服务器会保留之前会话期间输入的所有数据。
为什么要使用软件负载均衡?
软件负载平衡越来越受欢迎,因为它提供了优于硬件负载平衡的几个优点:
- 可扩展性:软件负载平衡器相对于硬件负载平衡设备的最大优势是它们的可扩展性。软件负载平衡器可以根据需求添加或删除虚拟服务器,自动实时响应网络流量的波动。
- 灵活性:软件负载均衡器也比硬件负载均衡器更灵活,因为它们兼容各种环境。它们可以通过编程与标准桌面操作系统、云环境、裸机、虚拟服务器和容器一起工作。硬件负载平衡器没有那么灵活,因为它们不可编程。
- 成本:组织可以通过软件负载平衡器节省资金,特别是如果他们使用 LBaaS。即使 IT 组织购买了自己的软件负载均衡器,成本通常也被视为 OPEX 而不是 CAPEX,其中硬件负载均衡器将被分类。
- 易于部署:硬件负载平衡器安装起来既困难又昂贵,但软件负载平衡器很容易按需部署,从而节省金钱和时间。
- 安全性:最后,位于客户端和服务器之间的负载平衡软件提供了额外的安全层,能够在可疑数据包到达服务器之前拒绝它们。
虽然软件负载平衡似乎比硬件负载平衡提供了一些明显的优势,但 IT 组织必须根据其业务的独特需求权衡硬件、软件和即服务负载平衡的优缺点。考虑使用软件负载平衡器与硬件负载平衡器的组织还希望在预算管理的背景下权衡各自的好处。任何类型的负载平衡,如果配置和管理得当,都可以使网络更加高效和可靠。