导 读 在度过2019天猫双11流量峰值后,阿里巴巴正式宣布,其核心系统已100%跑在阿里云公共云上。由此,阿里巴巴成为全球首个将核心交易系统100%运行在公共云上的大型互联网公司。站在11年前遥望今天,没有几个人曾料想到这一切能够照进现实。文章源自玩技e族-https://www.playezu.com/21152.html
文章源自玩技e族-https://www.playezu.com/21152.html
文末有有奖竞猜活动文章源自玩技e族-https://www.playezu.com/21152.html
#2019 天猫双11总交易额猜猜猜# 文章源自玩技e族-https://www.playezu.com/21152.html
文章源自玩技e族-https://www.playezu.com/21152.html
俗话说,“躲得过初一,躲不过双十一”。文章源自玩技e族-https://www.playezu.com/21152.html
无论之前我们怎么拼命捂紧钱包以穷为名指天发誓说要当“东方不buy”,最后八成会在全民狂热购物氛围的影响下忍不住按下提交订单的按钮。为了榨干大家银行卡里的余额,各种满减广告铺天盖地而来,仿佛在大声吆喝“快看这四舍五入简直是不要钱”,信用卡和花呗也都煞费苦心的悄悄提高了消费额度,简直是全世界都在怂恿人们买!买!买!文章源自玩技e族-https://www.playezu.com/21152.html
“昨天的最好表现,是今天的最低要求”,毫无悬念的,今年的天猫双11再次延续了“神话”——0点开启,几乎每1秒都有新的记录诞生。文章源自玩技e族-https://www.playezu.com/21152.html
文章源自玩技e族-https://www.playezu.com/21152.html
- 1分36秒破100亿,比去年用时快29秒;
- 12分49秒突破500亿,用时较去年缩短一半;
- 1小时03分59秒冲破1000亿大关,比去年快了43分钟27秒;
- 14时21分27秒冲破2000亿大关,比去年提前8小时7分10秒;
- 刚刚,经过16小时31分12秒 ,天猫双11再次突破去年全天2135亿元的总成交额。
文章源自玩技e族-https://www.playezu.com/21152.html
这笔堪称天文数字的成交额意味着全球最大的流量洪峰——对数以亿计的消费者来说,从提交订单到付款成功不过是指尖下短短的几秒而已;对阿里后台的服务器来说,要承受的却是数据岩浆的瞬间喷发——只有扛住了这一流量洪峰,剁手党们才能够支付顺畅、购物不卡壳。
这是一场购买力极限与技术极限的战争,也是支付宝新技术的最佳演练场。正如阿里巴巴董事局主席张勇说的那样,“过去11年我们从不回答预测双11销售额的问题,我最关心的是,我们的技术每秒钟能够支撑多少笔订单的处理。”
据天猫最新数据,2019天猫双11交易峰值创下新纪录,达到54.4万笔/秒,是2009年第一次双11的1360倍,这一数字在2018年为48万笔/秒。
“我们抗住了!”阿里云官方微信号如此表示。
在度过2019天猫双11流量峰值后,阿里巴巴正式宣布,其核心系统已100%跑在阿里云公共云上。由此,阿里巴巴成为全球首个将核心交易系统100%运行在公共云上的大型互联网公司。
站在11年前遥望今天,没有几个人曾料想到这一切能够照进现实。
阿里的“去IOE”革命
10月25日,阿里巴巴副总裁刘振飞发表了名为《十年磨一剑:从2009启动“去IOE”工程到2019年OceanBase拿下TPC-C世界第一》的文章,回顾了阿里巴巴“去IOE”的完整历史。
据刘振飞回忆,十年前(2009年)的9月,他奉命组建当时的淘宝技术保障部,随即启动了2010年的技术预算工作。当他第一次给时任集团首席架构师的王坚博士汇报预算的时候,曾得意地说到:“(淘宝)2010年不再购买小型机”。
不料,这句话非但没有取得王坚的赞赏,反而被王博士狠狠批评了一顿:“既然2010年可以不再购买小型机,为何还要给自己留下活口,2011年以后还可以买呢?加一个字:2010年起不再购买小型机!”
由此,阿里启动了后面几年备受争议的“去IOE”工程。
所谓“去IOE”,是对去IBM、Oracle、EMC的简称,三者均为海外IT巨头,其中IBM代表硬件以及整体解决方案服务商,Oracle代表数据库,EMC代表数据存储。IOE 这个说法最初来自阿里技术团队内部的称谓,然后才在整个业界流传开来,并且有了更加广泛的含义——即对一些核心领域要求其IT系统及设备做到自主可控,比如金融、电信、能源等领域。在这些领域,“IOE”为代表的国外IT厂商占据绝对优势,其中尤以IBM大型服务器垄断地位尤为明显。
为了满足王博士的要求,刘振飞只好“攒出”一条去IOE的技术路线:“低成本、线性可控、去中心化(分布式):去IBM,PC Sever替代小型机;去Oracle,用MySQL替代;去EMC,用中低端存储”。
他最后以惊叹号结尾,粗体写上一句:“淘宝2010年起不再购买小型机了!”第二年,刘振飞进一步提出用MySQL+自研数据库(OceanBase)替代Oracle,并不再使用高端存储。
当年阿里在搞“去IOE”的时候可能并没有一定要让中国在数据库领域实现自主可控的雄心,反而,这项策略一开始颇有些迫于无奈的意味。
财新发表的一篇题为《以阿里云去IOE》的文章讲述了其中的故事:从2006年和2007年开始,业务快速增长的阿里开始面临世界级难题——数据库太大。2008年,阿里的数据库已经成为全亚洲最大的数据库用户。以当时的技术能力,如此大的数据库已经几乎不具备扩展可能。
“我们把全中国最知名的顶尖的DBA(数据库管理员)请到公司,一个晚上一张报表都做不出来,没有任何一家公司包括IBM、微软,能够为我们提供一整套的技术服务。”阿里巴巴研发院业务发展专家孙黎明回忆道。
IOE架构也无法满足阿里电商平台秒杀类营销推广,“为了准备一次秒杀营销,从社会采购到安装部署至少需要半年的时间,才能完成IT系统宽容量的过程,但半年以后,这项业务几乎已经不存在了。”
对于“双十一”这样的业务暴增时点,IOE架构最让人头痛的则是需要估算交易量,到底需要多大的服务器和数据库才能保证不宕机?一次性上马太大服务器和数据库等于浪费,但若买小了又无法保证业务。
治标的方法快要山穷水尽,必须要从治本的角度出发寻找新的解决方案,比如,从架构层面“搞革命”,做单元化。
2010年5月,正祥加盟淘宝,由此拉开了 OceanBase的自主研发之路。站在十年后的今天回望过去,期间经历的种种磨难,遭遇的各种反对,忍受的讽刺挖苦,都已经成了长篇传奇故事中的动人细节。这十年间,有无数次可能让OceanBase夭折,但OceanBase还是坚持了下来:
- 2011.11 OceanBase第一次支持双十一,服务淘宝收藏夹
- 2012.11 OceanBase转战支付宝
- 2014.11 OceanBase承担支付宝交易10%流量
- 2015.11 OceanBase承担支付宝交易100%、支付50%流量
- 2016.11 OceanBase承担支付宝交易100%、支付100%、花呗账务30%流量
- 2017.11 OceanBase承担支付宝交易100%、支付100%、账务100%流量,“去O”大功告成!并第一次走出阿里,应用到南京银行互联网核心系统
- 2018.09 云栖大会发布了OceanBase 2.0,正式宣布兼容Oracle
- 2019.10 OceanBase发布Oracle兼容版本2.2,并公布TPC-C结果
OceanBase到底是如何做到的?
与传统企业相比,以阿里为代表的互联网企业最大的不同之一是并发访问量非常大。传统商业企业、银行,用户需要通过收银台、银行终端、ATM柜员机、POS机等专用设备开展业务并访问数据库,几百和几千的数据库并发访问比较常见,几万以上的并发访问相当少见。在互联网上,每一个草根网民都可以发起购物交易并访问数据库,几十万的数据库并发访问时常可见,几百万甚至千万的并发访问都可以见到(例如双11下的淘宝、天猫和支付宝)。如此之大的并发访问下,商业数据库软件及其高可靠的数据库服务器和共享存储的成本成为了不可承担之重。
所以就像上文中说的那样,传统的数据库架构搞不定阿里的实际需求。那么,IBM、微软等公司都做不到的事情,阿里自研的OceanBase是如何做到的呢?
蚂蚁金服高级研究员阳振坤曾在《揭秘阿里服务互联网金融的关系数据库——OceanBase》中详细介绍了OceanBase背后用到的技术。
OceanBase的一个基本假设就是硬件(服务器、存储、网络等)是不可靠的,另一个基本假设是单机(数据库服务器及共享存储)无法满足互联网业务的需求。因此,OceanBase必须是一个多机(分布式)系统,并且必须保证任何时刻出现的少量硬件(服务器、存储、网络等)异常不影响业务。
为此,OceanBase引入了Paxos协议,每一笔事务,主库执行完成后,要同步到半数以上库(包括主库自身),例如3个库中的2个库,或者5个库中的3个库,事务才成功。这样,少数库(例如3个库中的1个库,或者5个库中的2个库)异常后业务并不受影响:
与传统数据库相比,OceanBase的另外一个关键特征是软件版本的灰度升级。
主备方式的传统数据库是“单活”的,只有主库可执行写事务,尽管维护升级时可以先操作备库,操作完成后备库变成主库并且接受用户访问是一步到位的,如果新版本有问题,则业务受到影响:
传统数据库:升级前
传统数据库:升级中
传统数据库:升级后只能一次性地引入全部读写流量
OceanBase则是“多活”设计,即多个库(3个,5个等)每个都可以有部分读写流量,升级时先把要升级的库的读写流量切走,升级后先进行数据对比,正常后逐步引入读写流量(白名单,1%,5%,10%......),一切正常并运行一段时间后再升级其他的库:
OceanBase之3机群(3库)部署:升级前
OceanBase之3机群(3库)部署:切走读写流量,准备升级
OceanBase之3机群(3库)部署:升级一个机群(库)
OceanBase之3机群(3库)部署:升级一个机群(库)后切回部分读写流量
OceanBase之3机群(3库)部署:升级一个机群(库)后切回全部读写流量
基于硬件不可靠的假设并且能够容忍少量服务器的故障,OceanBase使用了相对廉价的PC服务器代替高可靠服务器并且不再使用昂贵的共享存储,从而不仅提供了比使用高可靠服务器和共享存储低得多的成本,容忍少数服务器乃至少数机群故障意味着比传统数据库更高的可靠性。通过灰度升级,OceanBase避免了传统数据库的“一锤子买卖”的升级,极大地降低了数据库维护升级的风险。 OceanBase“击败”甲骨文?
10月2日,70年大庆的假日期间,国际权威的性能测试机构TPC(TransactionProcessing Performance Council,事务处理性能委员会)发布了最新的TPC-C性能测试结果排名(TPC-C - All Results - Sortedby Performance Version 5 Results)。
在这个最新排名中,名列第一的是阿里巴巴蚂蚁金服集团提交并经过TPC严格审计的测试结果。
一时之间,“中国自研数据库超越Oracle登顶全球第一”成为了各大媒体的头条!
然而,大家高兴还没多久,有不少业内人士开始出来“泼冷水”:按照性能的测试结果,蚂蚁金服的确排名第一,从每分钟能处理的事务数量来看,“蚂蚁”的60,880,800 tpmC的确是“甲骨文”30,249,688 tpmC的两倍。但值得注意的是,这份榜单中的测试结果有效期仅为3年,除了“蚂蚁”意外,其他公司因为太久没有参与测试,以前的测试结果统统过期了。
所有灰色背景的测试结果,由于软硬件升级的原因而过期,只有“蚂蚁”一行背景是白色
所以,我们只能说——“蚂蚁金服OceanBase现在的测试成绩,达到了甲骨文Oracle数据库在9年前测试成绩的两倍。”
但即便如此,OceanBase也依然值得赞赏。
过去,国产数据库经过了多年的发展,虽有很大长进,但一直被认为三大基础软件中最薄弱的环节,始终无法取代以Oracle为代表的等国外数据库,也始终没有在国际权威的测试中取得过一些亮眼的成绩。因此,OceanBase参与了TPC-C测试,也是国产数据库在国际竞技舞台上的首次公开比武。就凭这份参与的勇气,以及要为此付出的努力和成本,就足以使OceanBase让业界刮目相看。更何况OceanBase的测试结果表明,它至少已达到Oracle九年前的水平,这也已大大缩短国产数据库与国际顶级水平的差距。 结语
这是第十一个双11 ,也是马云卸任之后的第一个双11。
吃吃吃、买买买,永远是能让人心情变好的事物,用自己赚的钱在这样一个节日里奖励一下自己,又有什么不可呢?
于是,你为今年的双11贡献了多少【偷笑】?
最后,当当当当—— 有奖竞猜 没错 就是#2019天猫双11成交额竞猜# 活动 在留言区写下你认为可能的数字 我们将为最接近真实数字的一位朋友寄出一份精美的双11小礼物!