开发者社区> 铂昊> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 随着云原生发展如火如荼,拥抱云原生成为业界共识,为了更好地支持云原生场景,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环境,覆盖多种业务场景。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云无影云桌面连接登录新手教程(用户名密码获取方法)
阿里云无影云桌面用户名和密码在哪查看?连接登录全流程
656 0
代码转图片Carbon-高雅程序员必备!
代码转图片Carbon-高雅程序员必备!
55 0
云原生下研发支撑的新形态
随着技术的不断快速迭代,各种研发主体在领域上不断的涌现出来,企业对于高效低投的研发模式有着越来越强烈的诉求;面对复杂和趋于成熟的业务场景,各个业务主体之间越来越希望建立一种共生的机制加快业务协作创新;针对集团内的研发支撑发展情况、经验及结合业界的热点问题提出一种未来研发的新形态,同时针对模式的演进对于未来研发支撑体系架构做出自己的设想,希望对业界的开发者及企业研发支撑领域的同行带来新的思路及新的研发方法论。
116 0
阿里云张献涛:如何修炼云计算的弹指神通
如果有一台能同时打开1万个网页的笔记本电脑,你想要吗?这种设备在物理世界中可能是不存在的,但是云让它变成了可能。让这一切变为可能的,是因云而生的弹性计算。
311 0
共享软件天猫的狂欢盛宴!阿里云云市场联合服务商送豪华福利,iphone11、airpods pro、天猫超市卡等你来拿...
阿里云云市场是中国最大的云计算/企业服务平台之一,覆盖企业应用、基础软件、上云服务、解决方案、IoT等多种场景。截至目前,云市场累计服务过百万家企业,帮助企业一站式获取到专业的产品与解决方案。
576 0
Alfred 工作流 - 阿里云 Open API 搜索与查看
由于对阿里云 OpenAPI 数量众多,为方便查阅制作了一个 Alfred 工作流
768 0
阿里云容器服务新建集群优化方案(更新版)-使用控制台创建与ingress绑定的SLB
本文为之前博文 阿里云容器服务新建集群优化方案:https://yq.aliyun.com/articles/696136 的补充,使用控制台可以更快速的创建于 ingress 绑定的VPC 类型 SLB
1179 0
云体验无国界:阿里云聆听国际站前来报道
阿里云聆听国际站上线,云产品体验,从此无国界!
1552 0
+关注
铂昊
阿里云网络 产品/品牌营销
18
文章
0
问答
来源圈子
更多
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载