摘要: 一路走来,文景也曾疑惑过:为何咱们不能把活动的时间跨度拉长到3天,或者1周呢?那样咱们或许就没必要冒着如此大的风险,承受平常峰值是10倍以上的压力啊!然而当他走到如今才深入的体会到,正是由于这集中爆发的、一次又一次的业务洪峰,在拉着技术往前狂奔,这才铸就了今天这支能战能胜的技术团队,技术应该感谢业务...程序员
情不知如何而起,竟一往情深。
恰如咱们。
十年前,由于相信,因此看见。
十年后,就在眼前,看见一切。后端
当2018天猫双11成交额2135亿元的大屏上,打出这么一段字的时候,参与双11护航的阿里云CDN技术掌舵人姚伟斌(文景),心中涌起一丝莫名的触动。缓存
CDN是最先参与天猫双11的技术之一,伴随双11走了十年,回首十载春秋,不管是业务规模、技术架构,仍是这些幕后的工程师们,都发生了翻天覆地的变化。他们的故事虽不如《阿里云这群疯子》一文中那般精彩,但也值得铭记!网络
11月11日00:19分,文景看到做战室的小伙伴们在轻松地交谈后,他知道双11的流量洪峰已经平稳地渡过了,他开始刷起了淘宝,他在为24小时后的结束仪式采购龙虾。架构
不一样于往年在光明顶(双11做战总指挥室)的忐忑和亢奋,今年文景团队100多名做战成员多了一份从容和镇定,他们分布在不一样的办公地,五地在线协同做战。在文景看来,这些年,业务倒逼了技术发展,推进了我的成长。十年双11磨出来的稳定的系统、成熟的做战方案、默契的团队配合,都是这个团队一路走来,身上的不可磨灭烙印。并发
(文景在双11会场选购宝贝)运维
做为CDN技术掌舵人,虽然文景不是团队中最“老”的同窗,但他却历经了淘宝业务飞速发展的几年,见证了从最初服务淘宝和集团内部的CDN,到现在国内服务客户最多的云CDN的每一步技术蜕变。异步
读书时期的文景是个很是“爱折腾“的学生,去女生宿舍帮忙调通网络,跟着导师接系统开发的“私活”,相对于从书本上汲取养分,他更偏心从项目锤炼中获取知识。慢慢地,他接触到了嵌入式开发、无线传感网络、Linux、Nginx、Squid,向服务端开发转型。而真正让他感觉到做为一个工程师的技术价值感的,是在作开源之后。“当时写了不少开源模块,有一些在Github上有了上千的STAR,我写的代码能帮到成千上万的开发者,甚至有国外的开发者会给我写感谢信,这不只让技术获得提高,也给了我十分强烈的认同感,也是由于开源,让阿里看到了我。”在加入阿里后,文景负责的Tengine,曾一度跻身全球第十的WebServer。性能
很幸运,加入阿里的第一年他就遇上了双11。对于当时的淘宝技术人来讲,双11是每一年最最重要的事情。“对咱们来讲,最关键的就是在零点那一刻,系统要扛住,降级的措施越少越好“。文景回忆到,当时的技术原则:第一是要对业务有预估,几千万人同时并发的QPS是多少,系统能不能支持;第二,要作技术预案,全部依赖系统的容量是多少,一旦出了问题后的应对方案。”通过头几年双11考验后,系统逐渐具有了在极限的状况下也能正常运行的能力,在高性能、稳定方面有很大提高。到后来,咱们技术能力已经远超当年秒杀的规模,当前的技术架构已经足以支撑,全部的技术人这才安心了。“优化
高级技术专家李克(空见)参与了整整十年的双11,如今谈起2009年的那个冬天,恍如昨日。“你们都是新手,该怎么准备、怎么配合,基本都是摸着石头过河,CDN当时采用的是硬件方案,性能和灵活性还有很大的限制。谁也没想到电商的业务发展的速度如此惊人,咱们的一部分节点水位基本都跑在崩溃的边缘,当时真的是靠几个运维值班同窗人工处理的方式撑了过来。”也就是在那年双11以后,淘宝核心系统部门宣布成立,将自研CDN提上了日程。
(空见在双11护航现场与“战友们”讨论)
固然,技术的积淀并非一蹴而就。空见回忆道:每一年咱们都会预测第二年的峰值,可是每次都低估了电商的爆炸式增加。在这种高强度的业务压力下,基本上全部的瓶颈都会被咱们遇到,内存、CPU、IO、网络,来来回回作了不少轮软件优化和节点架构升级。好比针对负载太高,增长先后端长链接机制,使得每一个链接能够服务多个请求。为了下降IO开销,使用一致性HASH策略,将多个机器的磁盘统一使用。在单机上采起内存->SSD->SATA的多层存储策略,动态进行冷热资源的迁移,提高磁盘效率。为了应对峰值压力,咱们会提早准备业务锁量、节点压测、降级预案、采购临时带宽等多种措施。在咱们的监控和数据还不完善的那个年代,双十一就靠每一个人打开多个终端,盯着一批节点,一旦发现机器负载太高,立马进行人工干预。
就是这样,团队靠着盯屏+人工操做,艰难撑过前几年,CDN架构不判定制、优化,团队的技术实力一直在重重挑战之中不断攀升。
转眼来到了2012年,文景认为这一年对CDN很是关键:“第一,咱们决定再也不采用外部的商用CDN,由于咱们发现淘宝的流量,商用CDN是不足以支撑的。缘由是淘宝是中国第一个图片这么多的网站,当时的SSD机器尚未这么流行,大部分的CDN厂商还在用SATA的机器,遇到数据量激增的时候,它的IOPS跑不起来,节点马上会IOB挂掉。第二,当大部分CDN厂商都在用千兆机器,淘宝CDN已经在用万兆机器,咱们是中国第一个使用全SSD机器的厂商,而且完成了40G的节点。当时的技术架构是很是领先的。”
2013年,随着CDN能力的加强,不少业务已经开始使用CDN,好比秒杀、红包、详情页等,CDN可以offload大量的请求和带宽,避免源站能力不足带来的服务不可用。空见说到:这一年咱们在技术上实现静态化和数据化,经过动静分离,抽象出来静态内容,缓存在CDN上,动态部分经过ESI回源异步获取。静态化改造以后,双11扛住了数十倍的业务峰值流量。
在内部业务愈来愈丰富的同时,CDN的数据化也开始有了产出,初版的数据平台可以针对每一个域名进行统计,提供节点、区域、运营商维度的五分钟粒度数据,包含业务数据,如命中率、带宽、QPS等,监控数据,如RTT、丢包率等。CDN告别了大锅饭时代,开始了精细化的运营,这也为后面CDN商业化提供了基础。
直到2014年,CDN不只支持集团内部双11,也开始服务外部客户。空见很清楚地记得,在这年双11,团队内部搞起了流量竞猜,工程师们为此设计了一个预测系统,经过每一年双十一的历史数据,以及各业务线的预估和实际状况,实时预测晚高峰流量,用来及时调整资源,好比当天上午11点就准确出来晚上高峰在多少T。
2015年对CDN团队来讲也一样意义非凡,由于那一年他们险些背了3.25。
当时淘宝上了全站HTTPS,而因为前期压测、对新业务的评估没有作到位,全站HTTPS带来的计算开销致使CPU、内存都开始成为瓶颈。“当双11开始后,别人都在为数据再创新高而欢呼,咱们团队的工程师却眼睁睁的看着线上节点内存被打爆,不停重启,当时我在客户现场驻场,真的连死的心都有了。”文景回忆到。
当时的CDN团队已经到了阿里云,常常全中国处处跑,深刻客户现场,贴身服务,整个团队的工做重心再也不仅仅是为双11作方案和保障。“咱们从纯碎的技术人,变成了须要有商业思惟的架构师,用CDN这个产品帮助客户去解决问题。也正是由于如此,此次的经历给咱们敲响了警钟,后面每当新业务诞生的时候,咱们都作足了充分的预案,坚定避免再次重现,更毫不允许这种状况出如今客户身上。”
(CDN团队2017双11合影 左三空见 右三士豪 右六文景 )
在2016年,新兴的直播、短视频业务发展迅速,带宽增速很是快,高级技术专家周哲(士豪)认为,团队在经历过数年双11的大考以后,已经开发出高性能、低延时、稳定的缓存系统,咱们有能力服务好这么大规模的图片业务,视频业务固然也再也不话下。
“可是真正当有大规模的视频点播业务上来以后,我才认识到对视频点播场景理解不足。视频点播对首屏、卡顿体验,以及对总体命中率和回源保护有更高的要求。因而,咱们就经过对整个系统完善全链路监控、基于用户体验的调度、提升总体缓存命中率、TCP协议栈优化,来提升视频播放体验。”
本来专一网络的CDN团队,拉上了兄弟团队,搞了小半年的技术攻坚,打磨出了直播全链路保障的方案。这套方案也成功应用在了天猫双11晚会上,空见还记得在2016年团队在护航天猫双11晚会时,当TFBoy出如今屏幕上,带宽直接飙升好几倍,“这也是我第一次见识到了小鲜肉的威力!”
与此同时,优酷加入了阿里你们庭,这给CDN带来了不少大文件加速、视频加速的业务场景,让整个团队的资源建设和技术水平获得了补充。在技术层面,也增强了CDN团队对视频业务场景的理解,完善视频格式实时转封装、全网防盗链、内容版权保护、P2P等相关技术。
从2017年开始,阿里云CDN走上国际化之路,进行大规模海外节点的建设,以知足国内用户出海加速和海外用户加速的需求。与此同时,在通过了2018俄罗斯世界杯、春晚等屡次重大活动的洗礼,CDN的团队规模、客户规模、技术实力一齐进阶,整个系统的自动化、智能化、精细化程度与服务能力全面加码,这支能战能胜的团队再次面对双11的时候,已然很是自信从容。
有了十年的积累沉淀,文景以为今年双11能够说是丰收的一年。
CDN团队主要支撑了电商和猫晚,整个过程能够说是如丝般顺滑,零故障零卡顿。同时,猫晚直播提供了超高清、高帧率的4K视频,经过频实时处理、转码向全网直播,窄带高清技术可以进一步提高画质,让网友们过足了眼瘾。
CDN为优酷2500万用户提供的视频分发,整个平台的QPS也突破历史峰值。整个服务过程当中依赖全链路质量监控、智能自动化调度,值班人员只须要关注数据大盘就能掌控全局了。
在今年双11期间,文景所在的团队也为Lazada提供电商CDN加速保障,同时结合直播解决方案帮助Lazada把双11晚会推送到泰国、马来西亚,和东南亚人一块儿狂欢双11。
空见半玩笑半自豪地说:“之前奢望地喝喝茶、购购物过双11的梦想在今年终于实现了,2135亿里也有咱们值班人员的一份贡献。”
(零点洪峰平稳渡事后,程序员们终于有心思买买买了)
一路走来,文景也曾疑惑过:为何咱们不能把活动的时间跨度拉长到3天,或者1周呢?那样咱们或许就没必要冒着如此大的风险,承受平常峰值是10倍以上的压力啊!然而当他走到如今才深入的体会到,正是由于这集中爆发的、一次又一次的业务洪峰,在拉着技术往前狂奔,这才铸就了今天这支能战能胜的技术团队,技术应该感谢业务!
十年双11,就如同一部浩浩荡荡的阿里技术发展史。CDN就这样用它独有的起伏,添上了浓墨重彩的一笔。期待下一个十年,咱们继续一路相随。
(空见第十次在双11护航现场:人生有几个十年)