揭秘2017双11支付宝25.6万笔/秒峰值背后的技术

企业动态
2017年双11支付宝峰值完成每秒25.6万笔交易,这样的技术是怎么实现的?

Q:2017年双11支付宝峰值完成每秒25.6万笔交易,这样的技术是怎么实现的?
A:OB

------------我是分割线------------

「2017年双11支付宝峰值完成每秒25.6万笔交易,这样的技术是怎么实现的?」

如果用最少的字来回答这个问题,甚至都用不了一句话,2个字母就行了:OB。

顺利完成支付峰值,当然需要涉及到很多技术,是所有部门和技术工程师协同的结果,而其中最关键的技术之一,无疑是数据库。

OB是我们的数据库,这2个价值千金的字母,背后的人和故事,容我细细道来。

〇、什么是OB,为什么是OB?

  • OB是OceanBase的简称;
  • OceanBase是蚂蚁金服自主研发的数据库;
  • 今年双11,我们首次把包括账务库在内的所有核心数据链全部搬到OceanBase上;
  • 今年双11,支付宝的支付峰值为25.6万笔/秒,再次刷新全球纪录;
  • 同时,OB的数据库处理峰值为4200万次/秒。
对于用户来说,一笔支付就是一笔支付,对于数据库来说,一笔支付则是数个处理请求的集合。用户进行支付时,钱可能从借记卡转出,从花呗借出、还有10块钱由优惠券出、分期付款……这些都是一个个独立的处理请求,需要数据库进行处理。
——蚂蚁金服首席技术架构师、副总裁胡喜

与发红包、转账等操作相比,支付所需要的数据处理会更复杂。能否在双11支付高峰支撑得住一个海量级处理并发量,对OB来说是一个巨大的考验。今年OB平稳扛过创世界纪录的25.6万笔/秒,处理峰值达到4200万次/秒,一定程度上来说,证明OB的处理能力已经处于世界领先地位。

一、IOE不挺好的吗?为什么要自己研发数据库?

最早,和世界上大多数商业机构一样,我们用的是集中式数据库。但经历过几次双11后,我们发现,集中式数据库和集中式技术架构越来越不能适应井喷式爆增的交易笔数和交易峰值。为了应对双11这一天的海量数据,花动辄几百万美元的价格去购买主机,在交易恢复常态时,昂贵的主机旋又陷于长期闲置状态。这是不可持续发展的。

双11的爆发式增长超出了所有人的想象,我们面临的一个最现实的问题是,控制成本,让双11能继续办下去。想到的解决办法是分布式数据库。可以说,OB是被双11逼出来的。

分布式数据库则能用数以千计的普通PC机「串联」起来,代替昂贵的大型服务器,从而大大降低成本。现在,在性能相当的前提下,使用OceanBase的硬件价格是其他高端数据库的1/10左右。

二、除了降低成本,OB还有什么优势和价值?

除了是分布式数据库,OB还具有弹性架构。2016年,我们上线了弹性架构第一代,简单来说,就是在双11支付峰值来临前,向阿里云「借」闲置计算资源,在峰值回落后再「还」回去。这让OB不但能支撑一再刷新记录的支付峰值,还不需要增加服务器。

今年,我们上线了弹性架构第二代:「离在线混合部署」。它最核心的优势是,能够在双11支付峰值来临前,「借」离线机房的闲置计算资源,在峰值回落后再「还」回去。这一创新的技术设计,为今年的双11支付保障节省了2000多台服务器。

在业内从没人做过这个尝试,因为分布式架构本身就是一个挑战,分布式还能兼容,必须接受更高的挑战,而兼容过程中还要使用离线资源,把从来没有想过的资源合并一起,提供一个最高级别在线能力。这是另外一个例证,我们的技术创新和进步,是迎战双11创造的一个又一个世界级技术难题中「逼」出来的。

三、分布式数据库这么好,有什么缺点吗?

分布式数据库的优点是性价比高,但它的缺点和优点同样明显:普通PC机单个来看都达不到金融级别的稳定性,如果其中一台机器「罢工」,容易产生多米诺骨牌效应般的坍塌效应。

在技术上实现一台机器出问题,其他机器即时补位备份数据不难,难点在于让每台机器的工作量始终保持均衡,否则工作量过大的机器容易崩溃,继而又是一场链式坍塌。这个短板被视为世界级技术难题。

我们解决分布式数据库稳定性的方式,是将每一份数据同时备份3~5份,存放在不同的机器上。其原理是,一台PC机出故障的概率如果是千分之一,两台同时坏的概率可能就是百万分之一,三台同时坏的概率则是十亿分之一。

四、OB会对外输出吗?

印度版支付宝Paytm已经在用OB了。此外,南京银行、浙商银行已经将其互联网金融核心业务切到了OB上,这也是中国金融机构首次使用中国自主研发的分布式数据库。未来,我们还将OB开放给更多合作伙伴。

五、为什么叫OB?

数据库的英文名叫Database,我们起名叫OceanBase,是希望我们做一个像海洋一样的海量数据库。

------------我又是分割线------------

今年OB撑住的支付峰值是去年的2倍多。转一篇去年双11后,记者采访我们OB工程师的文章。

一秒记账12万笔,零失误,这位「超级会计师」是怎样创造这个世界纪录的?

文|傅瑜(2016-12-16 发于 人物

在支付宝母公司蚂蚁金服的保安丁凡眼中,这几年双11最大的变化是每年的加班餐都会减少,今年,一不小心又订多了,丁凡和同事们只好在公司门口向还没来得及吃早饭的员工免费派发。

这一变化背后的故事被敏锐的媒体捕捉到并见诸报端:今年双11支付宝支付峰值12万笔/秒的新世界纪录背后,是一个仅几十人的技术保障团队。

在6000多名蚂蚁员工中,这几十个人辨识度很高,因为所有人的工牌带都是清一色蚂蚁蓝,只有他们是「土豪金」。这是蚂蚁金服内部最高荣誉——CEO大奖的「勋章」。

今年五月,董事长彭蕾亲自将它们一一戴在这几十位技术明星的脖子上。获奖理由是,这个小团队自主研发的OceanBase(以下简称OB)数据库,以远低于传统数据库的成本,更高的可用性,扛住了支付宝一次又一次自我刷新的支付峰值世界纪录,打破了IT核心技术长期被西方垄断的格局。

今年的世界互联网大会,OB入选世界互联网领先科技成果,其他获奖公司还包括特斯拉、IBM、微软、卡巴斯基等。

毫无疑问,OB团队是眼下蚂蚁金服最耀眼的明星团队。有队员甚至不好意思带着「土豪金」工牌上班,「太扎眼了」。

[[210796]]

耀眼光环的另一面,大概只有队长阳振坤和几位老队友清楚,四五年前,这一彼时仅有十几个人的团队曾在长达三年多的时间里,孤独而边缘。

这个经历了戏剧性般沉浮的团队,是观察中国互联网公司一个颇具代表性的样本:在比拼极限速度与弯道超车野心的赛场上,对待创新、技术理想主义以及「无用之用」的态度,会为一家公司的格局和边界带来怎样的影响和命运?


被百度「扫地出门」的北大教授

阳振坤的职场经历有一条鲜明的分割线。分割线之上一帆风顺:北大本硕博一路念完留校任教,不但破格晋升教授,还成为北大首批「长江学者奖励计划」特聘教授之一。

分割线之下走得磕磕绊绊。2002年,这位学术明星选择离开象牙塔,投身工业界,先后加盟联想、微软、继而是百度。

分布式数据库是阳振坤一直关注的领域。通俗来说,它是一个海量数据库,可以存放千亿条以上的记录。它就像一名超级会计师,可以在一秒内同时记数万笔帐,并且不出一点错。最新世界纪录,即是今年双11凌晨,OB创下的12万笔每秒的成绩。

不过,在十几年前,就连阳振坤本人,都会觉得这是一件不可思议的事情。彼时,起源于上世纪6、70年代的分布式数系统一直存在于理论中。

因为它的优点和缺点同样明显,优点是可以大大降低成本,缺点是这些普通PC机单个来看都达不到金融级别的稳定性,如果其中一台机器「罢工」,容易产生多米诺骨牌效应般的坍塌效应。

在技术上实现一台机器出问题,其他机器即时补位备份数据不难,难点在于让每台机器的工作量始终保持均衡,否则工作量过大的机器容易崩溃,继而又是一场链式坍塌。

这个短板被视为世界级技术难题,这也是为什么全球前三大数据库甲骨文、IBM、微软都采用集中式系统的重要原因。它们的主机稳定,一台动辄数百万美元,存储空间不够,那就只能再买一台。

阳振坤想做的,就是解决分布式系统的这个难题。2006年,他从微软跳到百度,从事分布式系统研发。这确实也是百度的刚需,数以万亿计的网页,意味着天量数据,并且这样的数据量还在迅速增长,如果使用IOE,成本高得惊人。

在百度做了两年多,他的团队被解散,百度最终采用了一套现成的开源系统。团队前成员杨传辉认为,阳振坤当时主导的分布式系统在性能上已经超过了开源系统,「但公司不愿再付出更多的时间成本。」

熟悉百度文化的人,都不会对这样的决定感到意外。几乎在同时,百度还解散了一个做电商的团队,生命周期也是两年。

人到中年遭遇职场危机,在阳振坤眼中似乎不是个事儿。2010年到阿里巴巴面试时,他说自己离开百度的原因「就是被人家扫地出门了呗」。
[[210797]]

 

 

 

这个小团队打造出的「超级会计师」,支撑起了今年双十一12万笔每秒的支付峰值 (摄影|付丁)

 

 

 

在阿里继续坐了三年「冷板凳」

在这家彼此惯以花名相称的公司里,大家都习惯称阳振坤为「阳老师」。在同事眼中,阳老师永远笑眯眯的,早上到公司都会主动向保安打招呼。「但他认定的事情,九头牛都不能把他拉回来。」

在阿里,阳振坤继续做分布式数据库研发,他的目标,是开发中国技术人自己的分布式数据库,不再依赖欧美的数据库。他的团队从零发展到十几人,捣鼓出中国第一个分布式数据库,他们给它起了个名字叫OB。阳振坤解释说,数据库的英文名叫Database,起名叫OB,「是说我们要做一个像海洋一样的海量数据库。」

阳振坤解决分布式数据库稳定性的方式,是将每一份数据同时备份三份,存放在三台不同的机器上。这是借鉴谷歌,其原理是,一台pc机出故障的概率如果是千分之一,两台同时坏的概率可能就是百万分之一,三台同时坏的概率则是十亿分之一。

跑在「海洋库」上的第一位「客户」是淘宝收藏夹。那时是2011年,淘宝用户已达数千万级,「每人收藏十条,那就是几亿条。」

跟随阳振坤加盟阿里的杨传辉回忆说,为了确保收藏夹在双11当天万无一失,整个团队连轴工作了三个星期,迭代、压测、调试、再压测、再调试……「当时在讨论群里,凌晨两点,凌晨三点、凌晨四点……一直都有人在说话。」双11当天,OB交的第一份成绩单让阳振坤满意,「那时,我们都觉得机会来了。」

现在看来,当时的判断显然过于乐观。阿里内部对自主研发数据库很快产生分歧,反对者认为,不如采用开源系统性价比更高,就像百度那样。

这样的意见一度占据上峰,理由也确实难以反驳:全球三大数据库制造商已存在几十年,每家公司都拥有数以万计的员工。做分布式数据库,全球唯一一个成功的案例是谷歌。

杨传辉回忆那段坐冷板凳的日子:有人在部门大会上公开质疑这个团队存在的意义;没有业务部门愿意把数据跑在OB上,为了拉「客户」,这群内向腼腆的技术男开始厚着脸给业务同学打电话,约吃饭,「跟销售一样去推销OB」;冷板凳坐了两年仍不见转机,有人选择转岗、有人办了离职……

「好在这里是阿里,」杨传辉说,阿里文化对创新和「无用」的宽容度一向比较高,阿里云创始人王坚是个再典型不过的例子,这位心理学博士在研发阿里云头几年,内部质疑声不断,有人公开在内部论坛上叫板,一年阿里年会上,王坚现场泣不成声的画面让许多人印象深刻。「阿里与王坚是彼此成就的,阳老师也是如此,缺了哪一方,就不会有现在的阿里云和OB」。

杨传辉回忆说,彼时留下来的人,都是内心强大,且仍怀有信心的,即便这样,大家当时想的都还是,先活下来,只要不离场,就还有希望。「但阳老师的境界,我们谁都比不了」。让他印象深刻的一个细节是,即便在最艰难的时候,阳振坤在内部会议上仍说,「OB以后是要取代IOE的」。

成为双11背后的「超级会计师」

2012年,在王坚的推荐下,OB团队并入支付宝。在一位不愿具名的阿里老员工看来,阳振坤和王坚两人身上有着许多相似之处:外柔内刚,典型的技术理想主义者。

「如果阳老师愿意妥协,放弃OB,转去做开源系统的技术优化,早就拨云见日了。但这显然不是他想干的事情,他的目标,就是想做一个中国技术人自主研发的数据库。」

支付宝母公司蚂蚁金服现任首席技术官程立是OB的另一个「贵人」,他同意将支付宝1%的交易库存数据在这个数据库上跑跑试试。

这位同样性格温和内敛却决断果断的技术高管在今年云栖大会上说过一句让媒体印象深刻的话:蚂蚁面对的都是世界级技术难题,因为我们脚下没有前人的脚印,只能靠我们自己一路披荆斩棘,遇山劈山,遇水搭桥。

4年前的支付宝,遭遇的世界级难题是,双11的交易量呈几何级增长,未来势必还将继续呈几何级增长,事实已然证明这点——2015年双十一实际支付峰值达每秒8.59万笔,是前一年支付峰值的2.23倍,是2009年第一次双十一支付峰值的430倍。

支付宝当时用的数据库还是甲骨文,为了应对双11这天的天量数据,只能再花数亿千万人民币的价格去购买主机,在交易恢复常态时,昂贵的主机旋又陷于长期闲置状态。这就好比你家来了客人,你为此去买了好几台洗衣机,客人走了,这些新购置的洗衣机就白白浪费了。

把客人的衣服拿到干洗店去洗,无疑是最优解决方案,在数据存储领域,具有弹性功能的分布式数据库就是那个高性价比的「干洗店」。「用大白话来说,就是在双11到来前,向阿里云租一批机器,双11结束后再还回去。」阳振坤说,这也是为什么,分布式数据库的软硬件价格不到IOE的十分之一。

这一还未正式上过「战场」的数据库,被支付宝高层认定是解决双11支付峰值这一世界级难题的「钥匙」。OB最终也不负众望,「原定搬1%的交易库存数据到OB上来,最后搬了10%。」

2014年双11,搬了10%交易数据链;2015年双11,100%交易数据链和支付数据链都搬过来了;2016年双11,整个账务库都搬过来了,这一核心数据被称为「金融系统数据库皇冠上的明珠」。

在OB团队办公室,常年摆放着一座关公像,临近双11大考,大家就会轮番给关公爷敬烟敬旺仔牛奶旺旺雪饼,据说这已成为团队「传统保留节目」。

2014年加盟OB团队前,冯柯在一家有军方背景的国产数据库公司做技术高管,被无数次问及「你们为什么要开发一套和IOE一样的集中式数据库,做得又没人家好,有什么意义呢?」冯柯觉得自己该离开了。

在他看来,OB目前还只是万里长征第一步,前方很多障碍和不确定性都还有待解决。

比如,过去六年,团队以纯技术人的思维来研发优化OB,现在该同时兼顾产品经理的思维去考虑它的用户体验及兼容性问题。「作为自家人,支付宝业务同学可以无条件迁就你做各种调试甚至改造,以让数据跑在OB上,但如果未来想让OB商业化,你不可能指望合作伙伴也这么去迁就你。」

OB在今年世界互联网大会上入选世界互联网代表性领先科技成果后,有媒体评论说,这一中国自主研发的数据库,有望打破世界商业数据库市场为IOE等国外商业软件巨头垄断的格局。

但亦有评论认为,全球绝大多数机构和公司同时在使用IOE的现状在短中期内不会有实质性的变化,OB在软硬件上大大降低成本只是一方面,硬币的另一面是,各家公司和机构将数据搬迁到一个全新的、完全不同的数据库上,无论是金钱成本、还是风险成本和信任成本,可能更为高昂。

无论如何,陈萌萌对OB的前景报以信心。这位从甲骨文美国总部辞职,回国加盟OB团队的80后说,甲骨文最初开始做数据库,从研发到成熟,经历了6年时间,「OB到现在也是6年,我们的大戏还在后头」。

以上内容文章内容整理自知乎

链接:https://zhuanlan.zhihu.com/p/31069765?utm_medium=social&utm_source=wechat_session

作者:支付宝

关注我们,我们只玩最真实的

责任编辑:KOL 来源: 51CTO
相关推荐

2016-11-11 14:18:59

双11支付宝

2019-11-13 09:46:08

技术研发指标

2009-06-03 12:09:31

互联网

2018-11-12 11:47:49

2021-08-10 18:22:49

架构支付宝底层

2017-12-21 17:25:46

存储

2015-11-11 21:46:45

阿里巴巴双11

2019-11-12 09:28:10

区块链技术应用程序

2015-10-21 18:41:15

wp支付宝

2011-09-28 14:24:39

支付宝手机支付

2019-11-19 21:55:37

蚂蚁金服双11支付宝

2021-09-08 10:01:14

架构运维技术

2015-10-21 16:11:39

WP支付宝

2020-11-09 09:58:49

架构双十一开发

2017-09-28 14:48:46

支付宝深度学习xNN

2022-01-18 17:43:25

支付宝福卡移动应用

2021-02-03 06:26:01

集五福支付宝五福全攻略

2020-06-02 13:34:16

支付宝小程序 V8 Worker

2020-11-12 14:58:53

双11云原生阿里云

2018-01-02 16:24:03

支付宝账单移动支付
点赞
收藏

51CTO技术栈公众号