双11刚刚过去,912亿的交易量再次刷新了双11的记录,然而,在网民疯狂抢购的同时,是阿里的技术保障了每一笔交易的顺利进行。
每年的双11,对于阿里巴巴的技术团队来说,都是一次考验,因为每年都会有不可思议的事情发生。阿里云资深总监李津介绍,每年的双11,都是阿里巴巴所有技术的练兵场。今年阿里云所采用的技术重点在几个方面,混合云架构、1000公里以外的异地多活,全球***应用在金融业务的分布式关系数据库OceanBase和数据可视化dataV。
据了解,每年的双11来临前,阿里巴巴都会根据过往的数据来预测今年的峰值,从而做好基础的建设准备。
混合云架构支持双11峰值
双11狂欢节到今年已经是第7年了,每年都在不断的刷新着自己的记录。2009年双11订单创建每秒只有400笔,到今年双11每秒交易笔数达到14万笔,数字的背后却是***大的压力。
过去,为了应对每年的双11活动,阿里巴巴都会进行IT投资,但是买回来的机器在双11后却造成了资源浪费,因此,阿里云希望将资源***化,当资源使用后可以快速释放。
据阿里云高级产品专家何云飞介绍,阿里巴巴的系统建设已有15年,系统以及业务流程等复杂程度可想而知,因此,混合云是解决双11的最快速的方法。过去,淘宝、天猫等核心系统都是放在了专有云中,而今年的双11,将核心交易系统以及支付系统放在公有云上,同时,业务系统之间还会互相调用,形成了混合云的模式。
阿里云高级产品专家何云飞(左)
何云飞认为,人类最缺少的是资源和时间,而云计算就刚好解决了这两类问题,云平台的本质是调度系统,通过连接网络来享受服务,节省了用户时间,同时也让资源和技术流转起来。因此,今年双11活动采用了公有云+混合云的组合模式,来支撑双11的峰值。
自研发的OceanBase支撑支付平台
OceanBase是阿里云历时5年自主研发的关系型数据库,在此次双11大考中,OceanBase主要在交易系统、支付系统和会员系统能够中使用,主要承担了支付宝的核心链路,保障了业务***峰每秒14万订单创建、8.95万笔支付笔数。
蚂蚁金服高级技术专家韩富晟(花名颜然)表示,去年双11,OceanBase就已经在使用,承担了10%的流量,而今年双11,100%的流量都跑在了OceanBase中,交易系统在双11一天写进数据库的数据量就达到了10TB,操作平均延迟0.62毫秒。经过了双11的大考,OceanBase的功能也将在明年正式对外提供给用户使用。
据了解,OceanBase有三大特性。一是可靠性,OceanBase采用了Paxos协议,来保证数据写到三台机器中的至少两个,保证任意一台机器宕机后都不会受到影响;第二是低成本,OceanBase的底层不需要使用IBM的小型机或EMC的存储设备,传统的PC服务器就足以支撑,因此,IT总体投入成本是降低的;第三是高性能,OceanBase中每天变更的数据都是写在内存中,大量的数据存在了SSD上,所有操作修改均发生在内存中,保证了高性能。
异地多活保障持续可用
在去年的双11后,阿里就对外宣传了交易的异地双活,然而今年支付宝的事件后,让人们不禁怀疑异地双活是否是真的实行了。但是,在今年的双11后,阿里巴巴已经从异地双活变化成了异地多活。
传统的业界主流的灾备技术是两地三中心,但是,对于阿里这样庞大业务量的公司来说,两地三中心并不能保障,阿里巴巴的异地多活除了灾备以外,更重要的是追求持续可用,保证整个支付交易体量对用户是持续可用的。因此,阿里巴巴开始了高可用架构演进之路。
阿里巴巴技术保障部研究员林昊(花名毕玄)表示,阿里巴巴花了3年的时间分步骤完成了异地多活,将异地多活变成了架构能力。最早,阿里巴巴采用的是同城“双活”,但是没有真正做到双活,而是应用层是双活,但是存储层都是主备,可以称之为“伪双活”。而后开始了异地双活,做了异地的只读和冷备,将一部分的业务部署到另一个城市的数据中心中,只作为冷备使用,但是冷备成本逐年增高,因此将只读业务放在异地。第三阶段,也就是异地多活,阿里追求的目标是,需要多个跨地域的数据中心,并且距离要做到1000公里以上的范围,此外,每个数据中心都要承担用户的读写流量,保证多点写入,在任何一个数据出现问题是,可以分钟级来接管用户的流量。这意味着阿里巴巴具备了在全国任意节点部署交易系统的能力。
在2013年,阿里巴巴在同城启用了2个单元的双活,做到了真正的同城双活;2014年,选用了距离比较近的两个异地数据中心,完成了异地双活,在去年的双11中,每个城市的数据中心各承担了50%的用户流量;到了2015年,阿里巴巴启用了距离在1000公里以上的数据中心,并且多点不熟数据中心,支付宝采用了4个节点,支付宝采用了2个节点。
炫酷大屏背后的dataV
从2012年的双11活动开始,在媒体直播间中都会有一块由业务信息和数据信息组成的超大屏幕,进行双11的24小时的数据直播,每每看到交易数字快速滚动时,都不禁让人怀疑,这是不是阿里早就做好的Flash动画。而在炫酷的数据直播大屏的背后,却是阿里巴巴的数据可视化技术在支撑。
2011年,阿里巴巴成立了数据可视化部门,帮助中小卖家理解数据。阿里云开发专家闻啸表示,数据可视化提供了平等讨论数据的平台,将数据解读成本降到***甚至是零成本,让每个人都可以成为数据专家。
阿里巴巴的数据可视化采用了Web端来作为实现平台,通过搭建基础组件的系统,所有大屏的最终搭建只用3周的时间,大屏搭建完成后,会选用模板,之后填入各种图标,再绑定数据,采用websocket.io技术实现了页面间的通信,通过遥控器可以直接操作所有的大屏。
也许大家对于数据大屏的印象就是炫酷,但是闻啸希望大家更能看到炫酷背后的数据。“炫酷不是数据可视化的错,甚至数据可视化就应该炫酷,如果连炫酷都做不到的话,根本就不可能吸引别人来读取、理解、挖掘数据。”
后记
在这次双11后的技术分享时,记者听到李津提到最多的话就是“被逼出来的”。的确,在巨大压力下,阿里巴巴的技术创新一直走在前列,解决了集团内部的需求后,将创新带给更多的用户。
李津认为,阿里巴巴之所以有今天这样的成就,全都是倒逼的,倒逼做业务创、技术能力提升,写***层的产品,解决集团最原始的诉求。“一个企业发展的好坏,要看所谓的创新背后是不是有真正的技术革新,如果有的话就是良性循环的企业,如果没有那么企业很快就会结束。”
的确,在技术快速发展的今天,如果企业不进行创新,那么很快就会被业界淘汰。经过一个个的双11大考,我们也看到了阿里巴巴的业务能力,同时也看到了阿里巴巴的技术实力,在每一年的大考中,阿里巴巴都在努力的进步,保证用户的每一笔交易。
或许,我们每年都会抱怨双11的各种问题,提交不了订单,支付不成功,抢到不到货,但是阿里人已经在尽全力保障用户的交易体验。阿里的双11要做100年,未来还有93年,无论从技术上还是业务上,相信阿里还会创造一个个记录。