阿里千亿级流量移动API网关的演进之路

简介: 在2018年云栖大会·武汉峰会的企业研发云专场中,来自阿里巴巴淘宝技术部基础平台部的移动中间件基础服务技术专家高志恒(鲁少千)为现场的听众带来了题为《阿里千亿级流量移动API网关的演进》的精彩分享。在本次分享中,他重点阐述了移动API网关的概念,研发效率演进,高可用演进以及运维体系演进。

在2018年云栖大会·武汉峰会的企业研发云专场中,来自阿里巴巴淘宝技术部基础平台部的移动中间件基础服务技术专家高志恒(鲁少千)为现场的听众带来了题为《阿里千亿级流量移动API网关的演进》的精彩分享。在本次分享中,他重点阐述了移动API网关的概念,研发效率演进,高可用演进以及运维体系演进。
数十款阿里云产品限时折扣中赶快点击这里领券开始云上实践吧!
以下为精彩视频内容整理:

移动API网关概念阐述

_11


网关是不同的网络之间协议的一个协议适配。顾名思义,移动API网关是针对于移动APP开发,在不同的服务之间建立的一个系统。它主要是为不同的服务领域提供的不同的服务入口,简化其中的复杂性。

_12


不同的公司对移动API网关的定义是不一样的。在阿里,移动API网关更多的是承载阿里所有无线业务的一个核心技术设施。同时也是承载着每一年双十一双十二这种超大规模流量的一个高性能高稳定的系统。同时,它也是阿里无线所有业务高效研发的一个发动机,它为业务方法提供快速高效套取移动能力的技术解决方案。它包括端到云整套的网络的深度优化,服务端的API的管理以及安全管控运维等。

研发效率演进

在移动互联网的发展初期,使用的服务的业务不是特别多,当时为了业务的快速上线,每个人分散的独立去开发,快速去做各自的业务。
随着移动互联网业务的快速发展,这种开发模式暴露的问题越来越多,管理上非常混乱,缺失统一研发模型和标准化,基础能力重复研发,效率低下。
为了解决这样的问题,做出了以下一些改变:

统一编程模型

_13


将编程模型进行了标准化,同时将之前分散在各个地区的服务集中式收靠起来,在网关上进行开发,通过网关统一去对客户端提供服务。

统一基础服务

_14


我们把客户端到服务端交互的技术细节体系进行一个很好的封装,最终行成一个网关SDK,来提供给上层业务去使用,通过这种方式就可以通过标准SDK去做很多事情。
就是把原来分散在各个地方需要建设的公共服务能力下沉。通过在服务端和客户端两方面去把公共的一些设施下沉下来以后,对研发效率效率会有一个很大的改变,因为所有的业务只需要关注于业务逻辑本身的开发。服务的开发模式也不会像以前一样乱。
随着互联网的慢慢成熟,淘宝有越来越多的业务,从而慢慢的转向了无限化。由于业务大量涌入进来,导致开发分支冲突严重;高频发布;稳定性无法保障。
为了解决这个问题,我们把整个网关的技术体系进行一个大的改造升级,将整个网关系统推向了一个崭新的网络时代,一个平台架构的时代。

大规模平台研发

_15


通过网关的升级,可以实现大规模的平台化研发。
第一,把业务跟网关以服务化的形式拆分到子系统里面去,将整个系统网关和后端业务进行解耦;
第二,引申出一个叫API的概念,将整个服务以API契约这种形式去暴露出来;
第三,创建一个开发测试的平台,通过这个平台,可以将APP进行很好的测试。

_16


我们研究出一种新的技术叫动态发布,原来服务暴露需要经过网关发布。通过这种技术可以实现服务的动态部署,不需要再去进行原来系统级别的发布。解决了网关稳定性的问题。

_17


客户端在开发过程中,往往需要依赖服务端的服务,测试也是一样,如果服务还没开发好的话,就要等到功能开发差不多,才能进行测试。服务端因为任务比较重,就有可能成为项目开发的一个瓶颈。
API契约先行解决了这个问题,创建一个API,根据不同场景,预先设置一些数据,让整个项目能够进行并行开发。整个研发效率就能够大大提高,服务灵活变更,快速生效,能够支撑上百团队并行开发。

高可用演进

高可用是指,我们提供的产品与服务能够高度持续可使用。另外一层含义是指让用户能够更加安全,更好体验的高度使用。由于会出现APP被反编译,红包被刷,流量暴增应用被打垮等问题,无法做到高可用,用户体验很糟糕,从而对产品是去信心,对整个业务伤害非常大。另一方面,系统出现问题能否快速恢复,也是急需解决的问题。
产品的高可用可以通过以下手段保障:

安全与限流

_18


针对以上出现的问题,网关首先对安全进行加固,然后进行限流。对于安全加固,在端上使用安全保镖去加固程序,让别人没办法打包或反编译代码。在服务端加强防刷等手段。通过这些措施,就可以保证用户的安全。
而对于限流部分,当一波大流量过来时,系统仍然能够正常的提供服务,很好的保证了系统的稳定。
当光纤断掉的时候,整个系统网络就断掉了。即使产品做非常好,也没办法使用了。那么就需要用到快速解决故障的系统。在光纤断掉的时候,把用户调到其他部分去使用正常的机房,这样用户的体验才会更好。

容灾与异地多活

_19


我们首先会根据用户的维度把用户分配到不同的机房。在服务端有一个流量调度服务能够快速的把用户从有问题的机房调到能够正常使用的机房。从而使故障快速恢复,分钟级生效,用户的体验也会非常好。
通过这几方面的保障,即使是在大流量的环境下,用户的体验也会更好。

运维体系演进

产品在线上能够稳定的运行,这是最基本的,同时,我们也要了解产品运行时的状况。网关要承载大规模的系统,需要一个完善的运维体系支撑。
在运维体系还不完善的阶段,在交易下跌的情况下,由于不知道是哪个服务器出了问题,需要人工到线下依次进行排查,因此排除故障所需的时间会非常长,速度也非常慢。

_20


而完善之后的运维体系,能够把所有线上的数据统计出来,做多维度报表。然后结合大数据人工智能对线上的数据进行实时监控告警,快速精确地定位问题,并进行故障分析。

EMAS顶层模型

_21


EMAS顶层模型提供了移动端开发的整套技术体系,能够快速打造一个类似于手机淘宝级别的APP。例如,天猫、支付宝等等。我们通过产品的形式将EMAS顶层模型共享出来。

_22


上图为针对企业移动研发问题的解决方案,包括持续交付解决方案,组件化解决方案,跨平台解决方案,泛质量管理解决方案以及网关统一接入解决方案。

_23


如果对EMAS感兴趣,上图为交流群的二维码,大家可以在里面进行移动研发平台的学习和交流。
本文由云栖志愿者小组毛鹤整理编辑。
相关文章
|
3月前
|
人工智能 监控 安全
百万并发,API 网关抗住了亚运会流量高峰
本文主要介绍作为亚运会所有核心流量的入口,阿里云推出了一款百万并发规格的 API 网关,抗住了亚运会流量高峰,为亚运会提供强大的技术支持。
|
9月前
|
Kubernetes JavaScript API
如何理解 Istio Ingress, 它与 API Gateway 有什么区别?东西流量?南北流量?
这三者都和流量治理密切相关,那么流量治理在过去和现在有什么区别呢?都是如何做的呢? 在学习istio的时候对流量管理加深了理解。什么是东西流量?什么是南北流量?
181 0
|
8月前
|
安全 Cloud Native 测试技术
关于阿里云云原生网关 MSE-Higress的使用体验
阿里云云原生网关 MSE-Higress是一款基于云原生架构设计的、全新的企业级API网关产品。在云计算时代,随着企业对于云计算技术的广泛应用,API网关作为一个重要的入口和出口,已经成为企业建设大型云平台必不可少的系统组件之一。阿里云云原生网关 MSE-Higress的诞生,为企业提供了更加灵活、高效、安全、可靠的API网关解决方案。接下来,对阿里云的云原生网关 MSE-Higress的使用体验进行简单分享一下。
341 1
关于阿里云云原生网关 MSE-Higress的使用体验
|
9月前
|
前端开发 JavaScript 物联网
漏刻有时API接口实战开发系列(1):萤石云HTTP接口API开发获取直播接口和流量数据查询(ajax)
漏刻有时API接口实战开发系列(1):萤石云HTTP接口API开发获取直播接口和流量数据查询(ajax)
182 0
|
9月前
|
Kubernetes 监控 网络协议
Kubernetes的API流量查看器-Kubeshark
Kubeshark 由 2021 年 UP9 公司开源的 K8s API 流量查看器 Mizu 发展而来,试图成为一款 K8s 全过程流量监控工具。
390 1
|
9月前
|
API
阿里短信平台api短信接口收费价格表
阿里短信平台api短信接口收费价格表,阿里云短信服务价格表,阿里云短信0.032元一条,阿里云短信价格?阿里云短信怎么收费?阿里云短信多少钱一条,阿里云短信价格0.032元一条
651 0
|
10月前
|
API
关于阿里速卖通商品详情API接口
关于阿里速卖通商品详情API接口
|
11月前
|
机器学习/深度学习 存储 达摩院
Python动物图像分割API简单调用实例演示,阿里达摩院视觉智能开放平台使用步骤
图像分割的目标是将图像中的像素分成不同的组或区域,使具有相似特征的像素属于同一组,从而实现目标对象的提取。常见的图像分割方法之一是语义分割(Semantic Segmentation)。 语义分割通过深度学习模型,如卷积神经网络(CNN),学习图像的特征表示,并生成像素级的分割结果。通常,语义分割使用全卷积网络(FCN)或其改进版本作为网络结构。编码器用于提取图像的特征表示,而解码器通过上采样操作将特征图还原到原始图像的尺寸,并生成分割结果。
224 0
|
12月前
|
JSON 监控 安全
Spring Cloud Gateway 整合阿里 Sentinel网关限流实战!
Spring Cloud Gateway 整合阿里 Sentinel网关限流实战!
|
API
《阿里千亿级流量移动API网关的演进》电子版地址
阿里千亿级流量移动API网关的演进
61 0
《阿里千亿级流量移动API网关的演进》电子版地址