ITPub博客

首页 > IT职业 > IT职场 > 做一个天猫双十一这样级别的活动,技术难度有多大?

做一个天猫双十一这样级别的活动,技术难度有多大?

原创 IT职场 作者:养码场订阅号 时间: 0 删除 编辑

在平稳度过2019天猫双11流量峰值后,阿里巴巴正式宣布,其核心系统已100%跑在阿里云公共云上。中国唯一自研的飞天云操作系统,成功扛住全球最大规模的流量洪峰!
零点刚过1分36秒,天猫双11成交总额便突破100亿元,成交速度比去年更快。订单峰值达到 54.4万笔/秒,是2009年第一次双11的1360倍。
据悉,阿里巴巴已将数以十万计的物理服务器从线下数据中心迁移到了云上。
并成为了全球首个将核心交易系统100%运行在公共云上的大型互联网公司。同为云计算巨头的亚马逊、微软、Google,都尚未迈出这一步。
从技术层面来讲,扛住双十一这种量级的流量高峰难度有多大?「全面上云」对于一个互联网科技公司又意味着什么?

全面上云

对于一个互联网科技公司意味着什么

这次的双十一,阿里巴巴核心系统100%上云。就是说阿里巴巴的所有核心业务,包括支付体系(支付宝)、交易系统(天猫、淘宝等)、物流系统(菜鸟)等等被称为“阿里动物园”的拳头产品,都在阿里云上运行。
有人会说,这不是废话吗,阿里是目前中国最大的云服务提供商,阿里自己的业务不在阿里云上跑,那在哪里跑。
这样想的人就太单纯了。
举个例子,有个江湖上流传很久的传说。一家做得很好的小饭馆,夫妻店,每天打烊时,老板会亲自下厨,给自己和老板娘炒几个菜。此时,老板会盖上平时给顾客炒菜用的油瓶,打开橱柜的最后一层,从一个角落里拿出专门给自己用的油...所以说朋友你有没有觉得很熟悉?谁家还没有个不待客的独家珍藏,是不是。
早期的、甚至目前的很多云服务厂商,像传说中的小饭馆一样,对外提供的云服务和运行自己业务的服务是两套完全不同的系统。对,注意这个词,完全不同。是不是很魔幻,突然觉得互联网,没有想象中那么公平共享了。
这样你就能真正理解阿里核心系统100%上云有多难得了。也就是说,阿里和阿里的客户一样,吃同一种油炒的菜,一旦油有问题,拉肚子的不仅仅是客户,阿里也拉。阿里巴巴的 CTO 张建锋说,「今年双11,阿里巴巴把身家性命放到云上,双11真正证明了云计算的稳定性」。
这种做法,在世界范围内,阿里是第一家。真正的实现了云共享、云公平。
扛住双十一
这种量级的流量高峰难度有多大? 
据阿里员工所述,今年他们有几个比较重要的点,也是需要反复推敲的。说起来容易,其实做起来并没有想象中的简单。
监控——你的监控能说明业务吗?
监控其实在整个阿里经济体都是一个比较有沉淀的东西。但是双十一其实对于监控的要求更高,业务指向性更强。需要监控系统打磨出更合适的 Metrics、链路追踪能力以及秒级的监控能力。包含且不限于这些点都是要考虑的:
· 系统监控;
· 进程监控;
· 业务监控;
· 链路追踪;
· 数据聚合;
· 分钟级监控、秒级监控。
总的来说,每一个系统(这已经不仅仅是局限于双十一了)都要具有可观察性,可以从方方面面来体现,日志、Trace、Metrics 等。毕竟一个系统的健康指标都在这上面,任何一环出了问题,要尽早地发现、止血,才不至于出现崩盘的现象。而双十一则是需要有千千万万个这类系统,这千千万万个系统都需要有自己的一个监控。
压测——你的压测够真实吗?
中间件团队需要打造出全链路压测的能力,这一点至关重要。一个系统,甚至一整条链路的抗压能力如何,瓶颈在哪一环,决定了我们要在哪个地方做优化、堆机器。压测是一个需要极度负责任的一环,只有尽可能拟真的压测才能体现出数据的可靠性。需要对线上的全链路统统进行压测,并且还不能影响日常业务的正常运作。
总的来说,就是要掌握线上的真实容量,还要配合各种预案、限流,保证业务无损,绝对不挂。
实际上,Render 就对各种紧急情况有各种应对措施,如老生常谈的限流、本地缓存、扩容等等。这些都可以算是一个双十一项目(甚至是日常项目)的标配了。
流量——流量控制地够精细吗?
这一点其实就是高可用中的一个环节了,关键字是分布式、流量。一个数据中心、同城双活、异地多活,并且各种系统都上云。
在各种系统架构下,我们需要做到精细切流,而不是一刀切,那就有点太粗糙了。还有一点值得一提的就是,我们自己的 OceanBase 的是有分布式数据中心的。
总的来说,对于各种分布式系统来说,需要有精细的流量控制,助力上云工作。
Node.js
最后再说点更贴近我的领域的,Node.js 在阿里和蚂蚁实现了什么?随便列个列表吧:
· alinode 进程级别的监控,还有各种堆栈、CPU 时间的 dump 能力,助力生产的稳定;
· 中间件的多语言实现,虽然阿里是 Java 为主的,但是各种一开始只适配 Java 的重要中间件和 SDK 最终都会实现出一个 Node.js 版本;
· 开源的 Egg.js 在阿里内部基本上已经成为了 Node.js 应用的标配,以及金融级别的 Node.js 架构;
· BFF 架构的大量接入应用层;
· 例如我们团队产出的就有之前提到的 Render,还有各种 apimg、osscombo 等系统,而我们团队也只是整个经济体使用 Node.js 的团队中的一小撮。
如果这些硬核解释
没办法满足你的好奇心
在今年的双11,阿里巴巴将核心系统100%上公有云。投入10年自研的飞天云操作系统,调度全球数百万台服务器,支撑全社会的双11。也可以说,这是对中国云技术进行一次巅峰的压测。如果你知道0点开始的那一刻发生了什么,你就会了解为什么这些工程师这么紧张。
在全世界上亿人提交订单的那个瞬间,数以百万计的移动设备信号光速飞向最近的信号基站。在经过解析之后,又传送到最近的数据中心里。它们可能是位于千岛湖边上的水冷数据中心,也可能位于气温仅为零下5摄氏度的张北。
没办法,瞬间迸发的数据洪流可以立马将机房烧毁,而最好的降温方式,就是天然低温。
在数据中心里,无数的请求开始在阿里此前设置好的库存、金额、支付等应用间不断撞击。经过一系列解析运算后它又从原路返回,最终回到了所有人的终端设备上。
你能在手机上看到订单上的数字在跳转,却看不到它在几秒之内飞越了半个中国。
打个比方。一个反应灵敏的人,在听到10个名字,可以瞬间想起他们的名字,性别,做过什么事,再事无巨细的描述出来。

而一个好的云操作系统,就像是一个顶级聪明的人,在听到100个复杂的不同的绕口令后,能用最快的速度记住,并用最快的速度一字不差的说出来。在这个过程中,既不能记错绕口令,也不能说错,反应还得快。听上去不复杂,但是在世界范围内,能做好的公司真的不算很多。

这几年,全世界的云计算是三足鼎立的状态,亚马逊的AWS,微软的Azure和阿里巴巴的阿里云。而中国异常巨大的市场,无法复制的人口红利,给予了飞天独一无二的考验。虽然亚马逊和微软都在大力推进上云,但是亚马逊还没有完全基于AWS,微软也还没有完全基于Azure。
于是,在2019双十一消费狂潮的倒逼中,阿里巴巴成了全世界第一个将核心系统100%放在公共云上的大型互联网公司。而飞天也成功的扛住了全球最大规模的流量洪峰:订单峰值54.4万笔/秒。
这么说吧,如果你一秒能数2个数字,那这个峰值够你数上3天3夜不合眼。而这只是飞天1秒处理的订单。这下你能稍微理解到飞天的强大之处了吧。
今年的双十一堪称世界级史诗,世上从未有过这样宏大的上云场景。除了10年磨练出来的飞天,还有10年投入的数据库、神龙、中间件等核心技术,哪个不过关,都过不了关。
所以,你只需要从自身的业务特点,去决定上不上云、哪些模块上云。阿里云的可靠性已经不是要考虑的因素了,既然阿里自己都如此信任阿里云,那其他人也没有不信任的理由。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69900361/viewspace-2664409/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2018-11-28

  • 博文量
    3
  • 访问量
    5899