顾名思义,负载均衡是指在一组相连的服务器上有效地分配服务器流量,也被称为服务器群或服务器池。
有很多来自用户和客户的并行请求,网站必须能够同时处理成千上万,甚至数百万的请求,并以快速和可靠的方式返回正确的文本、图像、视频或应用数据。通常情况下,为了以具有成本效益的方式扩大规模以满足这些高容量的需求,现代计算的最佳实践要求增加更多的服务器。
作为 "交通警察",负载平衡器坐在你的服务器前面,在所有能够满足这些请求的服务器之间引导客户请求。负载平衡器确保没有一台服务器过度工作,这可能导致性能下降。它确保所有服务器的速度和容量利用率最大化,没有一台服务器过载。负载平衡器确保在其中一个服务器发生故障时,流量被路由到其余的服务器。当新的服务器被添加到服务器组时,负载平衡器会自动开始向新的服务器发送请求,把它添加到服务器列表中。
负载均衡器是如何工作的?
为了防止流量被路由到无法满足请求的服务器,负载平衡器使用复杂的算法来检测后端服务器的健康状况。负载平衡器的目的是管理流向资源池内不同网络服务器的流量,不管它是硬件还是软件负载平衡器,也不管它使用什么算法,以确保没有任何一台服务器因工作量过大而变得过度工作,从而不可靠。因此,服务器的响应时间将被最小化,而吞吐量将被最大化。
通常情况下,负载均衡被比作交通警察的角色,因为它负责在任何给定的时间内系统地将请求路由到最合适的位置,从而避免昂贵的瓶颈和预防事故。
有哪些标准的负载平衡解决方案?
负载平衡器,或包括它的ADC,将遵循一套算法,以确定请求将如何在服务器群中分布。同样,关于这个问题有很多选择,从非常简单到非常复杂。
圆周率负载平衡
它是一个简单的负载平衡解决方案,当客户访问虚拟服务器时,根据轮流列表将客户引导到不同的服务器。然而,尽管它易于实现,但负载平衡器未能考虑到服务器上的现有负载。因此,如果服务器收到许多请求,它可能会因处理器密集型请求而过载。
最短响应时间法
最短响应时间方法对于监测健康数据来说更为复杂,因为它依赖于服务器对健康监测请求的响应时间。整体预期的用户体验就是服务器的响应速度。一些负载均衡器也可能考虑每台服务器上的活动连接数。
最小连接法
最少连接方法考虑了服务器上的当前负载,而轮转方法则不考虑(只考虑其在轮转中的位置),从而使性能大大优于前者。此外,使用最少连接方法时,请求将被发送到活动连接数最少的服务器上。
更多此类文章可在海鹰媒体上查阅。