提到云计算时,大家可能更多会想到计算相关的云产品,比如云主机ECS、关系型数据库RDS、大数据处理平台ODPS,但其实负载均衡在云计算里面的地位是至关重要的,因为它是网络流量的入口。互联网时代,计算资源、服务器、手机、电脑、物联网设备需要网络去连在一起。
所谓的负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(Elastic Compute Service,简称 ECS) 的流量分发控制服务。通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。
这里的服务是广义的,可以是简单的计算,也可能是数据的读取或者存储。负载均衡也不是新事物,这种思想在多核CPU时代就有了,只不过在分布式系统中,负载均衡更是无处不在,这是分布式系统的天然特性决定的,分布式就是利用大量计算机节点完成单个计算机无法完成的计算、存储服务,既然有大量计算机节点,那么均衡的调度就非常重要。
不难想象,如果一个系统绝大部分请求都落在同一个节点上,那么这些请求响应时间都很慢,而且万一节点降级或者崩溃,那么所有请求又会转移到下一个节点,造成雪崩。因而,在云计算中,负载均衡的意义十分重大,它可以保障云服务器更加稳定、高效、安全地运行,提供一种更加完美的云端使用体验。
举个例子:
排队在生活中无处不在,比如去银行办理业务,银行工作人员首先会引导客户根据待办理的业务类型,分到对应的组领号,通常情况一个业务窗口只提供一种服务,如果某类型业务排队的人太多,可能会开启新的业务窗口,而在没有人排队的时候,也会相应减少服务窗口。领到业务号码为止的前半段可视之为业务分发,而等待叫号直至处理完成则是负载均衡或处理能力