负载均衡的前世今生——揭秘阿里云ALB Ingress云原生网关

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 随着云原生发展如火如荼,拥抱云原生成为业界共识,为了更好地支持云原生场景,ALB与ACK/ASK等云原生服务深度集成,阿里云推出了ALB Ingress——云原生Ingress网关。

初识负载均衡

负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。

vcg_VCG41N1288562960_RF.jpg


负载均衡的前世今生

一项技术的兴起,就是要看它的应用发展空间是多大的。那么网络负载均衡技术也是随着网络发展而兴起的。现在让我们回首,看看它的发展历史,同时,也是对网络的发展有一个侧面的认识。首先我们要弄清楚负载均衡从何而来,在什么基础上才被研发出来的。  

vcg_VCG41N1206953099_RF.jpg

网络负载均衡的诞生

1996年,由美国华盛顿大学的几个学生创立了F5公司,一个新的网络负载均衡企业诞生了。F5为何会选择网络负载均衡作为创业点呢?根据JohnMcAdam介绍,Internet的规模每一百天就会增长一倍,网络应用流量也越来越大。网络的各个核心部分随着业务量的提高、访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量的需求。于是,网络负载均衡机制应运而生,这是一个巨大的市场机会。

vcg_VCG41163521404_RF.jpg

互联网泡沫带来的挑战和机遇

网络负载均衡的机会在于网络应用的扩张,网络流量的增大,所以,它非常依赖于网络的发展。然而,在2000年里,当互联网的泡沫破裂时,所有的网络负载均衡厂商都面临了生存的考验。因此各大厂商将业务重心从互联网转移到大企业方面,专门针对电信、银行,以及联邦政府等大企业做网络负载均衡。此时的负载均衡聚焦于四层网络负载均衡技术。2003年非典爆发,这是一个灾难,然而,却是互联网的发展机会。网上看新闻、网上定餐、电话问候等等,网络应用快速发展起来。在全球市场上,众多的企业也从互联网的泡沫经济中走出来,开始走向理性化的发展方向。在前面一轮的基础设施建设的基础上,开始更加重视增值业务/数据业务的建设工作。此外,互联网泡沫时代所引导的客户经济,也在这个时间开始体现出了真正的经济效益,各种增值业务如网上银行、电信运营商的短信增值业务,也在这个时期开始蓬勃发展,并产生出了巨大的经济效益,接踵而至的就是各种各样的网络应用流量瓶颈问题开始凸显,网络游戏这个典型的互联网经济在这个时候也开始进入爆发式增长阶段。此外,加上国内的电信、网通南北分拆,导致南北互通问题,这导致不少企业的网络流量瓶颈问题更显突出。这种种问题,并不是单纯升级传统的路由、交换设备而能解决的。而网络负载均衡设备正好能解决这些问题。在这个时期,包括F5、Netscaler在内的网络负载均衡设备厂商,都得到了快速的发展,提供了针对网络访问、数据中心同步访问、远程办公、应用防火墙等多种为了提升关键业务访问效率的解决方案。

vcg_918124550348079104_RF.jpeg

互联网快速发展,负载均衡面向应用交付

从2006年开始,国内股市开始火爆起来,随着上交所、深交所的股票交易量不断创新高,证券交易的"堵单"现象越来越严重。此外,企业电子商务的网络应用越来越多,而彩信应用的推广,对网络带宽也有了新的要求;此时,国内视频网站开始纷纷出现,流媒体形成的巨大访问量,需要提供更高的网络流量处理能力,对于四层负载均衡交换机的压力会更大。在这种情况下,普通的负载均衡设备已经难以满足网络应用流量增长的需求。此时,以应用为导向的方案越来越明显了,综合多种技术手段的需求越来越强。我们可以这样形象地理解:基于网络二层、三层的是路由交换,而基于网络七层的则是"应用交换",应用交付是完全基于网络应用的系统解决方案,它将关键应用与基础网络设备关联起来。网络负载均衡"L4-7LoadBalance"和应用交付"AdvancedADC"是两个独立的设备市场。其中,网络负载均衡"L4-7LoadBalance"指具有传统的网络负载均衡机制的设备;而"AdvancedADC"则是传统的网络负载均衡的升级、扩展,它是一种综合的交付平台设备,其综合了负载平衡、TCP优化管理、链接管理、SSLVPN、压缩优化、智能网络地址转换、高级路由、智能端口镜像等各种技术手段的综合平台。事实证明,综合了多种交付手段的应用交付设备(包括有L4-7LoadBalance功能)俨然成为了主流的技术,更符合企业级用户多样化的流量业务需求。

vcg_VCG211288551431_RF.jpeg



流量为王时代,负载均衡拥抱云原生

随着云原生发展如火如荼,拥抱云原生成为业界共识,为了更好地支持云原生场景,ALB与ACK/ASK等云原生服务深度集成,阿里云推出了ALB Ingress——云原生Ingress网关

image.png


ALB Ingress 技术原理

我们知道Kubernetes集群通过Ingress可以把集群外部的流量,路由到集群内部的Service,以此实现七层负载均衡功能。Ingress工作在7层,为Service做业务选路。

image.png


阿里云ACK/ASK等Kubernetes产品,可以借助云原生的应用型负载均衡产品ALB,把集群外部流量路由到集群内部的Service,实现七层负载均衡功能。此时K8S集群中部署了ALB Ingress Controller,负责监听API Server中AlbConfig/Ingress/Service等资源的变化,动态地转换为ALB所需的配置。

image.png

ALB基于洛神云网络平台,具备超大规模、超强性能和开放可编程等特点。通过多级负载和多级调度,单实例支持100w QPS;通过软硬件一体化和硬件加密卡,具备超强转发性能;通过自动弹性让运维更简单,SLA高达99.995%;通过自定义转发平台,提供丰富的高级路由特性。

image.png


ALB Ingress 使用简介

ALB Ingress与云原生服务做了深度集成,在具备丰富功能的同时也保证了易用性,在ACK/ASK中只需以下操作即可使用ALB Ingress网关(详细可见官网文档):

image.png

ALB Ingress在兼容K8S原生功能的基础上,通过AlbConfig CRD和Ingress注解项,还提供了丰富的高级特性(详细见官网文档)。用户通过AlbConfig CRD,可以方便地在K8S中配置ALB的实例和监听;通过Ingress注解项,可以方便地在K8S中配置ALB的转发规则和服务器组。ALB和K8S中资源的映射如下:

image.png



ALB Ingress 优势

阿里云ACK/ASK等Kubernetes产品中,支持使用Nginx Ingress和ALB Ingress。Nginx Ingress需要用户自行运维,一般用于用户对网关定制有强烈需求的场景。ALB Ingress为全托管模式,具备超大容量、自动弹性、高可靠和免运维等特性,提供更强大的Ingress流量管理能力。我们从以下几个维度来看看它们之间的差异:

image.png


在用户实际使用过程中,我们发现在一些场景下,ALB Ingress相比Nginx Ingress具有明显的优势。


长连接场景:长连接适用于交互频繁的业务场景,如物联网IOT、互联网金融和在线游戏等。当用户进行配置变更时,Nginx Ingress由于需要Reload Nginx进程,会导致长连接闪断,这对有些应用来说是不可接受的。以下是Nginx Ingress和ALB Ingress在长连接场景下的对比测试,可以看到Nginx存在读写失败,ALB无异常。

image.png


高QPS场景:互联网业务往往具有高QPS的特点,比如预期内的大促活动和突发的热点事件。以下是我们打满单台Nginx和ALB单个VIP时的测试数据。可以看到一方面ALB的处理延迟要比Nginx的低。另一方面Nginx在处理HTTPS短连接时由于没有使用硬件加速卡,单机性能较低,高QPS下需要较多机器;虽然ALB单个VIP的QPS限制为5万左右,但是ALB支持自动弹性,高QPS时会自动弹出更多VIP,通过一个ALB实例即可支持百万QPS。

image.png

高并发连接场景:物联网业务由于终端设备数量大,往往具有高并发连接的特点。ALB Ingress基于洛神云网络平台,支持对用户session进行收敛,单个ALB实例支持千万级连接数;Nginx Ingress需要用户自行运维,单台设备支持的session数有限,即使使用网络增强型虚拟机,依然存在容量风险,需要维护大量设备。


业务存在峰谷的场景:费用方面ALB也存在优势,特别是对于有波峰波谷的业务,比如电商和游戏。因为ALB按量计费,波谷期间消耗的LCU少,且支持自动弹性,用户无需关注和应对自身业务流量模型。而Nginx在波谷期间往往有闲置成本,用户需要根据业务流量调整机器到合适的数量和规格。另外考虑到容灾需要,Nginx通常还需要有资源buffer,这些都会产生额外的成本。

image.png

image.png


ALB Ingress 应用场景

ALB Ingress是阿里云官方提供的云原生Ingress网关,适用于以下K8S环境:

· 阿里云容器服务ACK(包括专有版和托管版)

· 阿里云Serverless容器集群ASK

· 阿里云上自建K8S集群(ALB Ingress Controller已集   成到开源版CCM)

ALB Ingress由于具备超大容量、自动弹性、功能丰富、高可靠、免运维等特性,加上前文介绍的优势,自发布以来吸引了多个行业的客户,覆盖多种业务场景,以下是几个常见的应用场景:

image.png


结束语

最后我们来做个小结。ALB Ingress是阿里云官方推出的云原生Ingress网关,基于洛神云网络平台,具备超大容量、自动弹性、功能丰富、免运维、高可靠等特点,在特定场景下相比Nginx Ingress有明显优势,适用于阿里云ACK/ASK和自建K8S环境,覆盖多种业务场景。

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
1月前
|
域名解析 移动开发 负载均衡
阿里云DNS常见问题之DNS负载均衡调加权模式失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
1月前
|
API
阿里云微服务引擎及 API 网关 2024 年 2 月产品动态
阿里云微服务引擎及 API 网关 2024 年 2 月产品动态
|
1月前
|
域名解析 负载均衡 监控
阿里云DNS常见问题之使用DNS实现负载均衡失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
9天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2024 年 05 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
1月前
|
Kubernetes 负载均衡 应用服务中间件
深入理解 Kubernetes Ingress:路由流量、负载均衡和安全性配置
深入理解 Kubernetes Ingress:路由流量、负载均衡和安全性配置
|
2天前
|
Kubernetes Cloud Native 开发者
阿里云网络发布 alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
**阿里云发布开源版ALB控制器v1.2.0,对齐商业版ALB Ingress Controller v2.10.0。新版本增强了功能特性,提升了用户体验,并提供了最佳实践。功能更新包括自定义标签、QUIC协议支持、转发规则和安全策略等。此外,还引入了ReadinessGate实现滚动升级时的平滑上线和Prestop钩子确保平滑下线。用户可从GitHub获取开源代码,通过Docker Hub拉取镜像,开始使用alibaba-load-balancer-controller v1.2.0。**
41 3
阿里云网络发布 alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
|
8天前
|
API
阿里云微服务引擎及 API 网关 2024 年 5 月产品动态
阿里云微服务引擎及 API 网关 2024 年 5 月产品动态。
阿里云微服务引擎及 API 网关 2024 年 5 月产品动态
|
1天前
|
Kubernetes Cloud Native 开发者
阿里云网络发布云原生网关 alibaba-load-balancer-controller v1.2.0,持续拥抱开源生态
alibaba-load-balancer-controller开源版本正式推出v1.2.0,能力对齐ALB Ingress Controller商业版v2.10.0。
|
1月前
|
人工智能 API
阿里云微服务引擎及 API 网关 2024 年 4 月产品动态
阿里云微服务引擎及 API 网关 2024 年 4 月产品动态。
|
1月前
|
运维 负载均衡 Cloud Native
Serverless 应用引擎产品使用之在Serverless 应用引擎中,使用云原生网关的情况下,SLB(负载均衡器)和证书配置如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。

热门文章

最新文章

相关产品

  • 负载均衡