11年天猫双11对支付宝技术有什么意义?

简介: 支付宝历年双11技术大盘点

刚刚过去的双十一全天交易额2684亿,再创新高,支付宝自研分布式数据库OceanBase每秒处理峰值达到6100万次,再次展示世界级数字金融运算能力。

今年是支付宝参加双十一的第十一年,也是一个新的起点,我们将支付宝历年重要技术制作成一张大图,但图所包含的信息毕竟有限,本文将这些技术分为三个阶段,为你详细解读。

支付宝新技术最佳演练场.jpg

2009-2013:被大促拽着前进

2009年光棍节,第一次双十一来的很突然,谁也没有想到在网民自创的“节日”搞的促销活动会成为中国最大的购物狂欢节,当天淘宝商城的成交额激增10倍。

支付宝第一年参加双十一,第一代对账系统完成大促全量资金核对,同时整体完成面向服务的架构SOA改造,虽然手忙脚乱,不过还是扛了下来。

在2008年以前,支付宝用的是阿里的WebX框架,采用IOE商业系统+开源软件的方式搭建后台,但这套架构是烟囱式架构,难以维护和扩展。2007年开始,支付宝自研SOFA框架,并于2008年1月上线。

2.jpg
SOFA分布式中间件早期架构

SOFA最开始的目标是对后端架构进行分布式服务化改造,而双十一大促将这个进程大大加快,刚完成这项改造,团队又马不停蹄的投入下一项任务中。

2010年第二次双十一,大家虽然有了准备,但实际的流量和成交额仍然远超估计,据当年的参与者表示,虽然准备了比平时多3倍的容量,但最后的流量是平时的20倍,在最后关头,运维人员将会计系统降级,避免核心系统崩溃。

在这一年里,支付宝数据库团队完成数据库的垂直拆分和水平扩展,将交易账户库分为交易库和账户库,奠定了弹性扩容的基础。但是,拆分带来了数据一致性问题,中间件团队研发并上线了基于两阶段提交的分布式事务中间件XTS,解决了这个问题。XTS经过不断完善,现在已经进化为阿里巴巴和支付宝共建的Seata项目,并已经在GitHub上开源。

也正是在这一年,分布式关系数据库OceanBase开始立项,开始了技术长跑。

2011年,支付宝运维监控系统xflush上线,实时秒级监控大促的峰值,业务健康度不再是黑盒,后来,升级为全功能监控平台AntMonitor。

2012年双十一单日交易一亿笔,在这背后,是支付宝紧急通过数据、网络、机房的改造,将单日的支付能力从百万级提升到了亿级。

当时,支付宝系统伸缩的瓶颈在基础设施和应用层面,首先是负责流量接入和调拨的负载均衡,支付宝自研了负载均衡中间件Spanner,2012年上线并成功支持大促,在不断升级改造后,到今天也仍在支撑日渐高涨的巨大流量。

其次的瓶颈在交易系统和账务系统,支付宝通过多IDC的改造,将交易系统和账务系统进一步拆分,扩展了系统承载能力,并通过FailOver机制,避免单点故障。

3.jpg
多IDC架构

2013年,支付宝 All-In 无线,移动端首次在双十一大促中承担重要职责。

但实际上这一年最重要的变化是,支付宝开始实施单元化的LDC逻辑数据中心,并在此基础上实现了交易支付系统的异地双活,有效提升了核心系统的持续服务能力。

4.jpg
单元化改造示意图

这里的单元是指一个能完成所有业务操作的自包含集合,在这个集合中包含了所有业务所需的所有服务,以及分配给这个单元的数据。单元化架构就是把单元作为系统部署的基本单位,在全站所有机房中部署数个单元,每个机房里的单元数目不定,任意一个单元都部署了系统所需的所有的应用,数据则是全量数据按照某种维度划分后的一部分。

支付宝单元化改造并不是一蹴而就,过程十分艰辛,不过带来的好处也非常多,包括理论上无限可伸缩微服务架构、异地多活部署、全站蓝绿发布和线上灰度仿真、异构机房上的弹性混合云架构等。

从2009年到2013年的双十一,支付峰值从数百笔增长到1.3万笔每秒,每年的增长速度都是数倍甚至十几倍的提升。为了支撑疯涨的流量,这些年里,支付宝技术的最重要目标是扩展系统的承载能力,可以说是被大促拽着前进。到2013年,LDC架构实现了理论上无限伸缩的能力,技术团队终于可以稍作喘息,开始追求精细化,大促相关技术也开始走到新的阶段。

2014-2018:从去IOE到大促技术标准化

2014年对于支付宝来说,是一个全新阶段的开始:去IOE开始落地,大促神器全链路压测正式启用,最后大促中控平台上线,标志着支付宝双十一大促相关技术走向标准化。

首先是去IOE,OceanBase在TPC-C数据库基准测试取得第一名,这个蚂蚁自研的分布式关系数据库一下子为世人所知,这里我们看一下这些年来它在幕后一路走过的里程碑:

2014.11 OceanBase承担支付宝交易10%流量;
2015.11 OceanBase承担支付宝交易100%、支付50%流量;
2016.11 OceanBase承担支付宝交易100%、支付100%、花呗账务30%流量;
2017.11 OceanBase承担支付宝交易100%、支付100%、账务100%流量,“去O”大功告成!并第一次走出阿里,应用到南京银行互联网核心系统;
2018.11 基于OceanBase2.0分区的百万支付架构上线,正式兼容Oracle;
2019.11 OceanBase取得TPC-C测试第一名,双十一每秒处理峰值6100万次;
……

在2014年时,支付宝决定将核心交易系统的10%流量放到OceanBase上,在今天看来是非常冒险的举动,不过当时之所以这么做,是因为之前所采用的Oracle数据库已经无法支撑下一次大促了。OceanBase也经历了非常多的优化,在2018年的双十一中,OceanBase 2.0上线,并确立了以OceanBase 2.0分区为主的架构,彻底解决了数据库层面的瓶颈,实现百万支付架构。

5.png
OceanBase分区架构

2014年双十一首次采用全链路压测,这可以说是大促保障的核武器。全链路压测解决了之前的大促规划靠拍脑袋、成功看运气的问题,通过模拟用户在大促时的行为和流量,将涉及到的每个系统、每项技术都测试到位,大大减少了大促出事故的概率。

2016年,支付宝还在LDC逻辑数据中心的基础上,在支付核心链路成功实现弹性架构,100%按照运营需求弹性扩充资源,极大节省了成本。弹性架构可以让系统随流量自动化的伸缩,可以降低成本,提升运维效率。

6.jpg
从多IDC架构到弹性架构的演变

2017年,支付宝首次实现离在线混合部署,80%在线资源,20%离线资源。随着大数据和机器学习的落地,支付宝平时有一些离线计算集群,通过调整工作时间,可以实现和大促高峰流量错峰,再和弹性架构结合,就实现了分时调度,同一批资源在不同的时间运行不同的应用,最大程度提升资源利用率。

7.jpg
离在线混部示意图

2018年双十一,支付宝推出系列活动,“码上双十一”联动手淘拉新促活用户,相当于开启了双大促,如果按以前的做法,需要采购双倍的服务器,有了混部和分时调度之后,才得以在新增少量服务器的情况下支撑,极大的节省了成本。

2017年其它的新技术还包括:

  • 首次启用智能客服系统,单日服务总量超过500万人次。
  • 智能风控AlphaRisk多模式切换落地,确保账户资损率低于千万分之五,遥遥领先于全球平均水平。
  • 首个在国内自主研发的图数据库GeaBase及自研图查询语言第一次参加双十一,实现了对百亿级关系网络毫秒级的查询和变更。

2018年双十一的时候,关于大促保障的相关技术基本已经成熟,但都比较零散,如果想更好的利用这些技术,需要把它们整合到一起,大促中控平台也正是在这个背景下出现的,它标志着支付宝将之前的大促经验沉淀,大促保障相关的技术实现标准化。

2018年双十一的新技术还有:

  • 首次在大促中进行红蓝攻防演练,在全链路压测的基础上进一步提升整个系统的可靠性。
  • 大促巡检平台上线,实现大促相关的配置的全面检查,防止配置失误。
  • 区块链技术第一次全面参战,百余个国家和地区、1.5亿跨境上牌的原产地溯源不再是难题。
  • 生物支付首次成为天猫双十一主流支付方式,每10笔支付就有6笔采用生物支付,标志着中国的生物支付时代来临。

2017年双十一支付峰值25.6万笔/秒,2018年支付宝内部实现可扩展的百万支付架构,再加上大促中控平台上线,我们可以看到,支付宝大促相关的技术已经成熟,并在不断打磨中追求可靠性、资源利用率、自动化、灵活性,把大促相关技术做到极致。

2019+:面向未来的金融科技

从2018年起,支付宝开始尝试和探索云原生架构的落地,同时数据智能相关技术也在公司内广泛使用。2019年,相关的技术开始亮相大促舞台,以支付宝自研产品SOFAMesh搭建的金融级云原生基础设施首次登上双十一,打造了业界最大的Service Mesh集群。

OceanBase 2.2上线大促核心支付链路,每秒处理峰值6100万次,这是OceanBase数据库同时兼容MySQL以及Oracle两种模式的一个里程碑的版本,性能和稳定性上也相对2.0版本有大幅提升。

最重要的是,支付宝技术开始走向无人区,未来的道路只能靠自己开拓,没有别人可以参考。支付宝开始自己描述面向未来的金融技术架构,推出了金融级云原生、开放计算架构等技术和理念,打造面向未来的金融科技。

金融级云原生是指在CNCF所定义的云原生基础上,发展出适合金融机构使用的一套技术栈,其中包括全面对外开放的SOFAStack金融级云原生分布式平台,以及通过安全容器、TEE、Service Mesh等构建的全栈云原生安全架构。

SOFAStack不仅采用Kubernetes、容器等社区化的云原生基础技术,同时考虑金融行业的特殊性,支持之前的传统架构,形成双模技术,包括:

  • 双模PaaS:包括传统PaaS和基于Kubernetes的PaaS,在PaaS中用容器来模拟 VM 的运行模式,同时支持容器和虚拟机;
  • 双模微服务:通过Mesh来统一基于Kubernetes的微服务和老的服务注册中心式微服务;
  • 双模Serverless:同时支持基于云原生的Nodejs Serverless模式、基于JVM的Serverless模式,以及基于云原生的Java Serverless模式。

在开放计算架构方面,支付宝通过设计一套符合当下计算体系,同时又能应对未来计算趋势的技术框架,来解决计算引擎更新、统一研发体系、数据共享互通、数据风险防控等几方面问题。

首先在计算引擎方面,针对不同的计算作业状态进行统一管理,达到兼容任何一种计算引擎,并且实现插件化能力;在研发层面,推出了SmartSQL,在标准SQL规范之上扩展了部分功能及语法,希望用最简单通用的语言,描述绝大部分的计算及机器学习作业;在存储层面,支付宝自主研发了统一存储系统,支持多种类型的数据存储格式,同时支持一份数据不同格式之间的自动转换及迁移,极大地简化了引擎层对存储的使用,同时节约了大量成本。

另外,开放计算架构之所以叫开放,就是它能包容不同的计算模式和引擎。在开放计算架构之中,包含了离/在线一体的图计算引擎及存储,从使用场景,可以覆盖在线、实时、离线各个场景,用于支持不同时效性的业务。从功能上,具备金融级图数据库,超大规模图计算,流图混合的动态图计算以及超快内存图等计算能力,覆盖了不同量级的数据计算能力。在机器学习方面,开放计算架构还包含了之前已经开源的SQLFlow以及前段推出的ElasticDL弹性深度学习框架。

8.jpg

这一整套体系将BigData和DataBase的理念揉合在一起,又称为Big Data Base,是支付宝摸索出来的金融数据智能的最佳实践,下一代大数据的基石。

2019年,开放计算架构在支付宝不同场景中落地。随着图计算在花呗,蚂蚁森林等场景中大规模上线,图数据库Geabase突破万亿边,在线图分析百亿关系特征计算秒级响应。同时,通过融合计算引擎,协同流、图、并行计算、机器学习等不同计算模式,在支付过程中提供秒级智能决策能力。

结语

互联网技术的更新迭代永无止境。

对支付宝人来说,虽然已经经历了这么多的大促,但每一年的双十一仍然是全新的挑战。这个挑战不仅来自于不断推陈出新的业务和运营,也来自于技术人对自己的严格要求,就像那句话所说的,今天的最好表现,是明天的最低要求。

正是这样的驱动力,驱使着支付宝的技术人不断的超越自我,突破舒适区,寻找下一场技术革命。也许,这也正是双十一的意义所在。

推荐阅读

万字长文丨1分36秒,100亿,支付宝技术双11答卷:没有不可能
超燃!支付宝技术双11纪录片《一心一役》全球独家首发

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
8月前
|
存储 监控 安全
阿里云渠道商:云服务器价格有什么变动?
阿里云带宽与存储费用呈基础资源降价、增值服务差异化趋势。企业应结合业务特点,通过阶梯计价、智能分层、弹性带宽等策略优化成本,借助云监控与预算预警机制,实现高效、可控的云资源管理。
|
应用服务中间件 nginx 缓存
一文掌握 Nginx 反向代理:从入门到生产级配置
本文全面解析Nginx反向代理,涵盖基础概念、负载均衡策略、SSL终止、缓存、安全防护及生产级配置,助你从入门到精通,构建高性能、高可用的Web架构。
1722 1
|
9月前
|
人工智能 供应链 数据可视化
低代码开发平台与零代码平台的区别?国内主流平台介绍与深度对比
本文深入解析低代码与零代码开发平台的技术特性与适用场景,盘点Zoho Creator、织信、OutSystems、简道云、钉钉宜搭等国内主流平台,对比其功能优势与典型案例,为企业数字化转型选型提供参考。
710 1
|
存储 安全 固态存储
《深入理解数据库事务:掌握ACID特性的奥秘》
事务是数据库操作中确保数据一致性和完整性的核心机制,其ACID特性(原子性、一致性、隔离性、持久性)是关键保障。原子性确保操作“全有或全无”,避免部分执行导致的数据不一致;一致性维护业务逻辑和约束规则,使数据始终处于有效状态;隔离性通过并发控制技术防止多个事务互相干扰;持久性则保证事务提交后数据永久保存,即使系统故障也能恢复。以银行转账为例,事务将扣款与存款视为一个整体,任何失败均回滚,确保资金安全。掌握ACID特性对开发高效可靠的数据库系统至关重要。
601 1
|
弹性计算 固态存储 大数据
阿里云服务99元一年,多配置价格表,太炸裂了
阿里云服务器2024年最新租用价格:轻量应用服务器2核2G3M带宽年费82元,折合每月6.8元;2核4G4M带宽年费298元。新老用户共享99元一年的2核2G3M带宽ECS服务器优惠,及199元一年的2核4G5M带宽企业级ECS u1实例。游戏服务器方面,4核16G10M带宽70元/月,8核32G10M带宽160元/月。此外,还有GPU服务器等多种配置供选择。具体价格和配置请参考阿里云官方页面。
2501 107
|
API 开发者 UED
自学记录鸿蒙API 13:PreviewKit从文件预览到应用开发
通过学习API 13,我深入研究了**PreviewKit(文件预览服务)**。该模块支持快速预览多种文件类型(文本、图片、视频、音频、PDF等),为文件管理类应用提供系统级支持。本文分享了从搭建开发环境到实现单文件和多文件预览的全过程,并介绍了如何构建一个实用的文件预览助手应用。通过实践,不仅掌握了技术细节,还提升了个人开发能力。希望这些经验能为其他开发者带来启发与帮助。
447 10
自学记录鸿蒙API 13:PreviewKit从文件预览到应用开发
|
人工智能 自然语言处理 API
阿里云百炼xWaytoAGI共学课DAY3 - 更热门的多模态交互案例带练,实操掌握AI应用开发
本文章旨在帮助读者了解并掌握大模型多模态技术的实际应用,特别是如何构建基于多模态的实用场景。文档通过几个具体的多模态应用场景,如拍立淘、探一下和诗歌相机,展示了这些技术在日常生活中的应用潜力。
3266 20
|
安全 Java
一文教你,synchronized和Lock的区别?
最近有多位粉丝被问到synchronized和Lock,据说还是阿里一面的面试题。在分布式开发中,锁是控制线程的重要方式。Java提供了两种锁机制synchronized 和 Lock。接下来,我给大家分享一下我对synchronized和Lock的理解。
567 0
|
监控 数据可视化 项目管理
WBS元素是什么?在项目管理中的作用与类型定义
工作分解结构(WBS)是项目管理中的重要工具,用于将复杂项目分解为更小、更易管理的任务或工作包。本文介绍了WBS的概念、特点、核心目标及其在项目管理中的作用,包括项目范围定义、任务分配、进度管理、预算控制和风险管理等方面。同时,文章还探讨了几种常见的WBS类型,如交付物导向型、阶段导向型、功能导向型和混合型WBS,并提供了创建有效WBS的步骤建议。最后,推荐了几款实用的项目管理工具,帮助团队更高效地管理和执行项目。
2046 7
|
存储 编译器 C语言

热门文章

最新文章