负载均衡技术

前言

负载均衡的用处:

  1. 企业无法承担得起 Web 服务器过载的后果。缓慢、故障的网络会影响关键业务服务,并导致差的终端用户体验,最终导致用户量流失,盈利能力下降。
  2. 内部员工忍受长时延、等待大量的 FTP 传输到达时,工作效率下降。

服务器和应用程序负载平衡是系统管理员保持服务器正常运行的常用方法。在下面的部分中,我将详细讨论一个常见问题:“什么是负载均衡?”,同时深入研究现代负载平衡方法、当前应用负载均衡器的类型以及其他动态负载均衡信息。

负载均衡

负载均衡(或者服务器负载均衡)是将网络流量分布到多个后端服务器(也称服务器群)上的过程。通俗的讲就是统一分配请求的,负载均衡会统一接收全部请求,然后按照设定好的算法将这些请求分配给这个负载均衡组中的所有成员,以此来实现请求(负载)的均衡分配。这确保了单个服务器不会承载过重的负载,并能够保持高速、高质量向用户显示网络内容,从而优化应用程序和网络的可用性和响应性。通过均匀地分配工作,负载平衡提高了应用程序的响应能力。它还为用户增加了应用程序和网站的可用性。没有负载平衡器,现代应用程序就无法运行。随着时间的推移,软件负载平衡器增加了包括应用程序安全性在内的额外功能。

16233939859507

此外,由于云计算的普及,现在可以利用应用程序负载均衡器来帮助防止拒绝服务(DDoS)攻击。应用程序负载均衡器可以将来自公司服务器的网络和应用程序流量“卸载”到公共云服务器或提供商,从而保护流量免受危险的网络攻击者的干扰。

F5 是负载均衡产品的一个品牌,其地位类似于诺基亚在手机品牌中的位置。除了 F5 以外,Radware、Array、A10、Cisco、深信服和华夏创新都是负载均衡的牌子,因为 F5 在这类产品中影响最大,所以经常说 F5 负载均衡。

应用程序负载均衡器配置方法

了解负载均衡器是如何工作的很重要,包括 Web 服务器负载均衡器是如何工作的。对于初学者来说,存在几种负载平衡方法,也称为负载平衡技术。这些方法依赖于确定服务器群中的哪个服务器应该接收每个客户端请求的算法。以下是五种最常见的负载平衡方法:

  1. Round Robin(轮询法) 轮询法依赖于一个轮换系统来对网络和应用程序流量进行排序。将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。这种方法适用于服务器处理能力相同,且每笔业务处理量差异不大时。

  2. IP Hash(源地址哈希) 客户端的 IP 地址决定了哪个服务器接收它的请求。源地址哈希的思想是根据获取客户端的 IP 地址,通过哈希函数计算得到的一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一 IP 地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。

  3. 最小连接(Least Connections) 正如其名称所示,最小连接方法将流量导向活动连接数量最少的服务器。这在流量大的时期很有用,因为它有助于在所有可用服务器之间保持均匀分布。

  4. 最小响应时间(Least Response Time) 最小响应时间方法将流量导向到具有最少活动连接量和最低平均响应时间的服务器。

  5. 最小带宽(Least Bandwidth) 这种应用负载均衡方法以每秒 Mbps 为单位计算流量,将客户端请求发送给服务器的流量最小 Mbps。

16233939225336

负载均衡类型

对于一个网络,可能需要考虑许多特定类型的负载平衡,包括关系数据库的 SQL Server 负载平衡、跨多个地理位置进行故障排除的全局服务器负载平衡,以及确保域名功能的 DNS 服务器负载平衡。此外,还可以根据各种可用的基于云的负载均衡器(包括著名的 AWS 弹性负载均衡器)来考虑负载均衡器的类型:

  1. 网络负载均衡(Network Load Balancing) 网络负载均衡利用网络层信息来决定将网络流量发送到哪里。这是通过第 4 层负载均衡实现的,该负载均衡被设计用来处理所有形式的 TCP/UDP 流量。网络负载平衡被认为是所有负载平衡解决方案中速度最快的,但是当涉及到服务器间流量的平衡分配时,它往往达不到要求。

  2. HTTP(S)负载均衡(HTTP(S) Load Balancing) HTTP(S)负载均衡是最古老的负载均衡形式之一。这种负载平衡形式依赖于第 7 层,这意味着它在应用层中运行。HTTP 负载平衡通常被称为最灵活的负载平衡类型,因为它允许您根据 HTTP 地址附带的任何信息形成分布决策。

  3. 内部负载均衡(Internal Load Balancing) 内部负载均衡与网络负载均衡几乎相同,但是可以用来平衡内部基础设施。

在讨论负载均衡器类型时,还需要注意硬件负载均衡器、软件负载均衡器和虚拟负载均衡器。

  1. 硬件负载均衡器(Hardware Load Balancer) 顾名思义,硬件负载均衡器依赖于物理的本地硬件来分发应用程序和网络流量。这些设备可以处理大量的流量,但往往价格高昂,在灵活性方面相当有限。

  2. 软件负载均衡器(Software Load Balancer) 软件负载均衡器有两种形式:商业的或开源的。在使用之前必须安装。与基于云的平衡器一样,这些解决方案往往比硬件解决方案更实惠。

  3. 虚拟负载均衡器(Virtual Load Balancer) 与软件负载均衡器不同的是,虚拟负载均衡器是将硬件负载均衡设备的软件部署在虚拟机上。

总结

应用服务器负载平衡是将入站网络和应用程序流量分布到多个服务器上。每天的每分钟,都有数百个用户或客户机请求,使得任何一个负载均衡器服务器都很难跟上数据的需求。在服务器之间分发这些请求有助于确保正常运行时间,并将慢速保持在最低限度,以确保用户和员工满意。

推荐阅读

负载均衡在分布式架构中是怎么玩起来的? - kingreatwill - 博客园

参考资料

  1. 负载均衡和 F5 是什么意思? - 150****3899 的回答 - 懂得
  2. What Is Load Balancing? Types, Configurations, and Best Tools - DNSstuff
  3. 负载均衡的 6 种算法,Ngnix 的 5 种算法! - 知乎