3.7 负载均衡
随着移动互联网应用的蓬勃发展,对企业级应用系统的要求越来越高,应用系统常常会在以下几个方面遇到挑战,如图3-25 所示。
图3-25 企业级应用系统的核心痛点
高可用(Always Online):移动互联网对业务高可用有更高的要求,用户应用型系统必须具备强大的高可用和容灾能力,能发现并排除不健康的服务,在可用区及地域间进行容灾,以实现业务运行永不停止。
超高弹性(Super Elastic):5G 让接入网络变得更快,带宽变得更高,IoT 技术将使得互联网上的客户端数量呈爆炸式增长,因此在5G/IoT 时代,应用系统必须能够承接更大的并发连接,以及更大的带宽。类似直播带货、在线电商秒杀等业务场景的成熟应用,会导致在线用户数在短时间内出现指数级的暴增,应用系统需要有非常好的弹性,以应对这些突如其来的流量洪峰,在流量高峰期能够自动扩容, 在流量低谷期能够自动缩容。
面向应用(Application-Oriented):随着各类业务越来越复杂,业务的快速交付成了用户越来越关注的点。由于微服务、云原生等技术的广泛应用,负载均衡将不仅面向网络层提供服务,还需要深入应用层;不仅做网络入口,还需要面向应用交付,实现业务转发。在云原生Ingress 场景下,更需要大量基于内容的高级路由特性以实现金丝雀发布、故障注入、流量仿真等重要的云原生开发模式。
安全可靠(Security&Trust):网络环境越来越复杂,网络中应用系统的复杂度也不断攀升,从而导致安全漏洞也在逐年增加,网络安全事关企业的生死存亡。网络安全防线被突破不仅意味着业务受损,更可能导致关键数据、信息的丢失,是企业无法承受之痛,安全始终是企业用户最关注的特性之一。
负载均衡可以帮助企业有效地解决上述痛点。
3.7.1 什么是负载均衡
负载均衡(Server Load Balancer,SLB)是一种对流量进行按需分发的服务, 通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,可以消除系统中的单点故障,提升应用系统的可用性。
阿里云提供全托管式在线负载均衡服务,具有即开即用、超大容量、稳定可靠、弹性伸缩、按需付费等特点,适合超大规模互联网应用,如春节红包、双11 秒杀抢购、大规模在线物联网应用等高并发场景。
阿里云负载均衡提供4 层、7 层负载均衡服务,其中4 层负载均衡工作在传输层(OSI 参考模型中第4 层),基于TCP/UDP 协议工作,4 层负载均衡单实例可以支持高达千万级别的并发连接与百万级别的每秒新建连接。
区别于4 层负载均衡,7 层负载均衡工作在应用层(OSI 参考模型中第7 层), 支持HTTP、HTTPS、HTTP2、WSS、QUIC、GRPC 等众多应用协议,单实例可支持高达100 万QPS,7 层负载均衡支持SSL 卸载(或HTTPS/TLS 卸载),负载均衡负责HTTPS 流量的加密与解密,后端服务器仅需处理普通HTTP 流量,可以极大地节省后端服务在数据加解密上的算力,有效控制后端服务器的规模与成本。