负载均衡是一种对流量进行按需分发的服务,通过将流量分发到不同的后端服务器来扩展应用系统的吞吐能力,并且可以消除系统中的单点故障,提升应用系统的可用性。
为什么需要负载均衡?
负载均衡的出现主要是为了解决用户在网络服务中面临的以下问题:
-
单台服务器性能不足
中大规模系统/网站访问流量比较大,单台服务器处理能力不足,使用多台服务器提供服务,因此需要负载均衡做流量调度,提升服务能力。
-
业务需要灵活调度
对于访问量巨大的网站/系统,对流量处理调度要求很高,此时需要负载均衡的超强性能+调度算法甚至高级转发能力实现对业务的灵活调度。
-
单点故障
关键系统/网站需要多服务器做负载均衡高可用,避免一台服务器故障业务就受影响,需要负载均衡进行健康检查,可及时发现和屏蔽故障服务。
-
业务对外暴露需要
负载均衡可以提供反向代理能力,通过负载均衡的统一对外提供服务,用户后端服务无需直接对外暴露,提升业务的安全性。
负载均衡有哪些实际应用?
负载均衡广泛应用于视频/游戏大并发流量、零售/金融/企业高可靠场景、云原生网络应用和跨地域网络应用等场景。
-
视频/游戏等大并发流量场景
音视频/游戏等行业经常面临突发访问,海量流量,后端服务压力大。如短视频/长视频/直播/在校教育/游戏等业务中,由于服务端与用户端之间需要实时大量的互动,因此,用户流量非常大,而音视频业务的波峰波谷效应明显,这对整个系统的性能、弹性、稳定性和可用性带来了巨大的挑战,需要使用负载均衡进行流量分发。
-
零售/金融/企业等弹性高可靠场景
新零售新金融业务变化快,新业务上线、老业务调整时常发生,大促大型活动常态化;因此,对即开即用网络,快速交付能力,弹性伸缩能力,安全可靠、灵活计费等需求显著,需要使用负载均衡搭建高可靠架构。
-
云原生网络应用场景
随着云原生逐步成熟,互联网/金融/企业等诸多行业新建业务时选择云原生部署,或对现有业务进行云原生化改造。无论是使用阿里云ACK/ASK/SAE还是开源K8s,云原生网络均可用到负载均衡服务来实现流量调度。
-
跨地域网络应用场景
跨地域跨可用区的容灾方案。互联网/金融/企业等业务逐步遍及全球,需要将不同地域用户智能调度访问到相应的业务系统,为了降本增效,线下IDC业务需要与云上业务互通,需要使用负载均衡构建跨地域或混合云容灾架构。
负载均衡是如何工作的?
负载均衡的工作原理示意图如下:
- 负载均衡通过监听网络流量,将请求从客户端传递到负载均衡服务。负载均衡服务接收到请求后,会根据预定义的调度算法,决定将请求分发到哪个后端服务器上。
- 负载均衡服务会维护一个或多个服务器组,其中包含多个后端服务器。负载均衡服务会根据服务器的健康状态和负载情况,选择合适的服务器来接收请求。这样可以确保每个服务器能够均衡地处理请求,避免单个服务器负载过重导致性能下降或服务不可用。