不怕峰值来袭,网易考拉借容器云玩转双十一

提要:借助网易蜂巢容器云平台,网易考拉完成了核心系统的服务化和分布式改造,实现了从资源到应用的端到端弹性扩容,可保障电商系统从容面对双11、黑五的压力

为了备战本次双11,跨境电商领头羊网易考拉海购(以下简称“网易考拉”)早早就宣布投入4亿资源,精心营造了一个“超级洋货节”。造节在引流的同时,也会给电商系统带来了巨大的考验。但网易考拉对此并不担忧:借助网易蜂巢容器云平台,网易考拉已经完成了核心系统的分布式改造,全面实现了资源弹性和应用弹性,以保障电商系统在业务规模快速增长的情况下稳如泰山,618、双11、黑五等大规模促销的访问压力也可从容面对。

重新定义消费升级,网易考拉的崛起和压力

2015年1月,携网易媒体的优势,网易考拉正式开始角逐跨境电商。只用了短短一年,从零起步的网易考拉就开始冲击100亿销售额。截至今年10月末,网易考拉已积累超过1,500万的忠诚复购用户,在国内自营型跨境电商进口销售额榜单上,网易考拉已经名列第一。

网易考拉的快速成长,有互联网和消费者趋势变化推动的因素,但更是网易考拉运营策略得当的结果。借助网易集团现金充沛的优势,网易考拉在跨国的仓储、物流、供应链、支付等基础工作上投入了大量的精力,全球布点,严格审核供应商的资质,并通过自营直采以保证100%正品,为赢得消费者信任、进行各种促销活动打下基础。

原始积累已经完成,2016年的双11就是网易考拉的大日子。以重新定义消费升级之名,网易考拉瞄准了品牌、个性和专业等三个需求,进行差异化的竞争(价格已经不是电商竞争的关键)。网易考拉很早就已经为规模促销进行准备,不仅为保税仓扩容8万多平方米,从10月初开始备货,而且还从8月初就开始构建了一个物流云平台,通过智能化管理系统“祥龙”根据销量预测分仓,以保证及时配送。所以,网易考拉有底气在“超级洋货节”期间推出一项1元试用正品好货的活动,即支付1元就可申请海外商品的试用,施华洛世奇、大王、好奇等众多海外一线品牌参与。

供应链、仓储、配送的能力固然是与众不同的“11.11超级洋货节”收效的保障,然而,临门一脚的在线商城系统也是不容忽视的一环,如果直接面向用户的电商系统不能及时上线策划的新功能,不能顶住访问压力,网站的体验不能让消费者满意,后端的工作准备得再好也是枉然。据网易考拉预测,本次双11大促零点的订单量将瞬间达到平时的数倍,系统压力极大。

另一方面,网易考拉对用户体验有一种近乎偏执的要求。根据网易考拉海购高级副总裁朱静波的介绍,网易考拉内部有一个用户存活率的指标,希望至少50%的大促用户能够因为良好的用户体验、有趣的内容最终留下来。

其实,本次双11带来的技术挑战和应对方式,正是网易考拉快速成长的缩影,在此之前,618、黑五等大促销规模压力屡创新高,但网易考拉网站从未崩溃。这得益于网易考拉有一个支持弹性扩容的业务架构。当然,这个架构并不是生来就有的,而是随着网易考拉的成长经过了两次大版本的迭代形成的,其中大量借鉴了网易互联网产品研发经验。

弹性架构迭代:容器的胜利

资源的弹性是云计算的一个基本承诺,尤其是2009年双11之后,电商团队对弹性计算的需求愈发清晰,都自觉地探索各自的云架构。2014年底立项的网易考拉,也含着资源弹性的金钥匙出生--2012年开始构建的网易私有云此时已经上线,支撑着多个网易互联网业务,网易考拉系统也直接在网易私有云上开发和部署,借助网易私有云计算、网络、存储资源的弹性,辅助自动化脚本及配置工具,可以完成基本的资源的管理和控制以及应用的部署。同时,由于跨境电商刚刚兴起,初期需要快速验证商业模式,系统也采用了单体式架构,直接聚焦核心场景进行开发。

自从2015年1月上线后,网易考拉的业务开始进入了高速发展期,第一版电商系统的第一个瓶颈逐渐凸显,就是迭代速度缓慢,而仅仅提供基础的资源弹性无法解决问题。具体而言,随着用户数量的不断增加、市场需求的变化、运营体系的完善,网易考拉对功能模块变更的需求越来越频繁(例如注册模块要从只支持手机登录到支持微信、微博、QQ、支付宝登录),不仅仅基础资源管理越来越复杂,脚本化的应用层的部署和管理也已经远远跟不上需求。在原有模式下,每一个小迭代都要申请资源搭建一个测试环境,每当有新的模块和服务的时候,都需要维护脚本及自动化配置工具,以网易考拉较高水平的研发能力,每天也只能最多实现两次更新。此外,原有模式附带的一个问题,就是容易出错,多次的环境部署无法完全的复现,毕竟再牛的程序员也还是人类。

网易云的容器云平台、新一代云计算--网易蜂巢的自动化能力解决了网易考拉的燃眉之急。网易蜂巢采用了流行的Docker容器作为整个软件部署和调度的基本单元,并以结合Google生产集群管理的理念和业界的实践经验打造的Kubernetes作为容器管理和编排服务框架。

与传统IaaS架构不同,容器提供的不仅仅是基础资源,而是将操作系统,应用运行环境以及代码打包成一个不可修改的镜像进行交付,容器的机制可以保证无论在哪里,什么时候运行,都能保持环境的一致性,也就是Docker所宣称的“Build, Ship, and Run Any App, Anywhere(一次构建,随处运行)”。

一个服务往往会包含多个组件,因而会封装成为多个容器,容器之间会有相互的依赖,相互的调用,Kubernetes可以实现服务的编排、自发现、自修复,使得复杂服务的部署变成了一次API调用。

网易蜂巢根据网易考拉的架构,把代码里面的功能自动封装到容器当中,并且把容器做成镜像,再通过编排服务解决不同容器之间的依赖关系,自动完成软件的安装、部署和运行,然后把运行起来的软件放到网易考拉的测试环境、联调环境和现场环境。另外,网易考拉将代码管理和持续集成工具同网易蜂巢容器平台集成起来,整个过程中网易考拉只需要完成编码和测试,不需要关心申请资源和部署环境,既便捷又减少出错概率。

网易考拉在使用了网易蜂巢的自动化部署工具实现一键式生成环境、触发测试和发布之后,变更的频率由每天2次可以增长到每天11次,同时整个软件产品质量也提升了52%。

经过第一次大迭代之后,网易考拉进入了爆发增长期,然而当用户量达到百万级的时候,又一个大瓶颈出现了,就是单体架构遭遇性能的天花板。在业务的爆发期,网易考拉对迭代速度有了更高的要求,同时需要保证系统在高并发访问下的稳定性和页面性能。首先,软件的稳定需要一定的时间,但单体架构牵一发而动全身,频繁的变更会造成频繁的业务中断,比如注册模块的内存泄漏就会导致整个系统不可用;其次,软件对用户量的承载是有限的,一次访问的延迟在日活十万时是几毫秒,到日活百万时可能就上升秒级,尤其是到了网易考拉日活用户已经超过千万、促销活动以周为单位的时期,压力更是巨大。然而,在单击架构下,网易考拉的瓶颈是全环境每天最多更新112次,单次访问的延迟达到500毫秒,整个业务的更新率越来越低。同时,在单体架构下做弹性扩容还会造成浪费,比如一些访问频率不高的模块,也需要根据购物车模块面临的访问压力来准备资源。这个时候,解决的办法,是借助网易蜂巢对业务的分布化改造能力,再次进行大版本的迭代。

基于Kubernetes提供的服务发现功能,网易蜂巢可以支持网易考拉方便地把注册、购物车、支付等不同的功能模块拆分出来,由不同的团队独立开发和维护,将原来的单体结构变成微服务结构,单独进行弹性伸缩,并通过编排建立它们之间的联系,这就保证了网易考拉团队可以灵活地实现软件的快速迭代,以及软件架构的弹性伸缩。这次迭代为网易考拉带来了6倍以上的能力提升,每天的更新频次上限由每天112次上升到每天723次,并发访问支持由原来的每秒2,600次提升到了每秒16,000次。

为了支撑高性能的应用,网易蜂巢基于原生的Kubernetes的基础上,对于调度进行了优化,保证应用的快速部署和快速修复,并且利用多年运行IaaS层的调优经验,对于容器之间的网络互通和持久化存储做了优化,保证数据读写的高性能及容器之间互相访问的高性能。

为了保障在不同规模下的一致的用户体验,网易考拉还使用了蜂巢推出的全链路的性能监控体系。在某次大促之前,线上压测团队发现,原本一次加入购物车的延迟仅仅20毫秒,在用户量爆发之后就超过了1秒钟,通过该功能回溯整个链路的调用过程,发现在整个服务的过程当中,数据库操作环节的时延占到了整个时延的95%以上,所以,网易考拉能够快速地优化数据库的操作逻辑,很好地应对了大促时的爆发访问。

小结

网易公司创始人兼CEO丁磊曾说,电商的核心在于“商”而不在于“电”,网易考拉也确实围绕商务开展了灵活的玩法,本次双11尤其如此,这也让双11成为了电商技术团队的一次大阅兵。然而,网易考拉在网易蜂巢的基础上实现了业务架构的现代化,获得了快速迭代和全面弹性伸缩的能力,经受住了618和多次黑五大促的考验,这让团队可以从容地玩好本次洋货节。事实上,网易考拉的线上压测团队已经提前申请资源,按照近期平均交易量的数倍对电商系统进行压测,并针对一些小瓶颈进行快速的代码调整,对于实际的挑战,团队已经心中有数,所以并不惊慌。

网易考拉认为,容器云之所以能够带来超过传统IaaS的好处,并不仅仅是因为Docker的应用,关键还是因为通过网易蜂巢能够实现整个业务架构的变革。其实,作为网易云的基础服务,网易蜂巢已经在支持95%以上的网易互联网产品的运行,这些产品团队通过网易蜂巢的容器服务和工具链,实现了敏捷的生产方式和先进的分布式架构,从而支撑他们的业务像网易考拉一样快速地成长。


企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2016-11-11
不怕峰值来袭,网易考拉借容器云玩转双十一
提要:借助网易蜂巢容器云平台,网易考拉完成了核心系统的服务化和分布式改造,实现了从资源到应用的端到端弹性扩容,可保障电商系统从容面对双11、黑五的压力为了备战本次双11,跨境电商领头羊网易考拉海购(以下简称“网易考拉”)早早就宣布投入4亿资源,精心营造了一个“超级洋货

长按扫码 阅读全文

Baidu
map