《进化——我们在互联网上奋斗的故事》一一1.5 电商大促盛宴背后的技术

1.5 电商大促盛宴背后的技术

进化——我们在互联网上奋斗的故事
随着近年来互联网的越发普及,电子商务已经成为越来越多人生活的一部分,并有成为购物首选的趋势。非常有幸从2010年起,我就加入了1号店这个电子商务的前沿企业,作为一个技术人亲身经历了公司规模和系统规模从小到大、快速发展的这几年。其中印象最深刻也最有代表性的就是一次又一次的大促,每一次公司生意规模的增长背后都伴随着技术层面的不断升级和演进。

1号店有一种长达一个月的促销叫“周年庆”

说起电商的大促大家应该都经历过的,各大平台每年你方唱罢我登场,各类促销不断,就仿佛菜市场里面挥泪大甩卖的吆喝似的。其中不乏各种超值商品,特价秒杀,搏了大家的眼球,也确实让很多真正的消费者获得了优惠。一般活动也就是一天或几天,而1号店有一种长达一个月的促销叫“周年庆”。

整个7月,全公司都处在一个紧张而又兴奋的节奏里,各种促销活动从促销页面制作,到促销商品选择,到商品入库,再到仓库发货,快递配送,整个电子商务全局供应链都在紧张中忙碌,为了给顾客带来更好的体验,为公司的业务增长能够站上一个新台阶而不停地高速运转。其中系统的稳定是重中之重,没有整个系统的稳定,任何一个环节出现问题都会直接影响公司业务。

为了准备2011年的周年庆,提前半年就开始立项,我们做了一件大事就是拆库,把之前唯一的核心数据库一分为五,根据数据使用场景和压力进行分库。非常庆幸我们在周年庆之前完成了数据库的拆分,支撑了业务的需要,从当时压力的情况来看,如果没有这次数据库拆分,是肯定无法支撑周年庆的订单量的。这对系统而言也是一次质的飞跃。

其中印象最深的是2012年的周年庆,欧洲杯决赛的那个凌晨,相信很多兄弟都会熬夜去看西班牙对意大利的决赛,而那晚我和一众负责前台页面展示的兄弟们一起鏖战了四十多个小时。为了给用户更多更好的购物体验,在大促当天上线的主页面上做了几百个展示橱窗加整点秒杀,而当时的系统以往最多的时候也就是使用过几十个促销栏位,于是便出现了部分浏览器打开速度缓慢的问题。为了解决这个问题,我们的业务同事非常努力。问题解决后我们引入了促销页面测试准入流程,以后的大促所有页面必须提前测试,技术确认后再上线,从那以后这样的事情就没有再发生过。从软件角度上说,这也许不是最强大的软件方式,但从互联网电子商务快速发展的角度来说,技术了解业务、技术与业务相结合,开发出合适的能够快速响应变化的产品是经济合理的方案。

有一个日子叫12·21

天猫的“双11”、京东的“6·18”,相信这两个日子是大家最耳熟能详的了,而1号店也有个自己打造的日子叫“12·21”。

那是2010年的时候,随着1号店整体规模和整个电子商务行业的快速发展,单靠最开始起家的自营模式无法满足顾客的需要和在业界的竞争中获胜。1号店的商城模式“1号商城”快速发展,从入驻第一个月的几十家到目前的上万家。2011年的双11过后,我们的业务同事提出了要做“12·21”这个1号店商城大促节日的想法,主打全场五折,公司管理层很快就决定了支持这个想法,建立一个自己的节日。

这对系统的挑战是非常大的,需要我们在短短一个月时间,把系统承载能力提升几十倍。当时我们的CTO亲自挂帅,带领所有技术团队的负责人组成项目专项组,在当时硬件资源没有增加的情况下,确定了数据库历史数据迁移、缓存服务器调整、核心程序代码优化、性能测试保障、临时找供应商借部分硬件等一系列具体方案。我在这个项目中是项目问题跟进总负责人,在这个项目中我们创新性地提出了对每个事项都要有负责人和监督人,如果该事项没有完成到位,我们首先问责监督人,以此保证各项工作的按时完成,这样的方式我们一直沿用到之后所有的重要大促准备。当时最困难的点还是在于核心程序的优化,那时候我们整个系统Service化还没有做好,系统的水平扩展能力有限,核心下单流程的优化和性能测试就成了重中之重,我们的开发人员把整个性能测试环境搭在自己的电脑上。就这样一步一个脚印,很多同事加了一个多月的班,不断优化,最终在大促前两天,通过去事务的方式完成了性能测试,最终顶住了“12·21”当天系统的压力,让1号店的这个节日有了第一个美好的开端。

2012年的“12·21”就要顺利得多,系统Service化已初见成效,核心的库存和价格Service已经稳定且高效地提供着服务,核心业务流程已基本稳定。业务上的需求总是不会少的,这次给我们的挑战是一个抽奖大转盘,这个转盘可以抽抵用券,也可以抽到实物。第一期开发出来的转盘由于业务复杂,点击一次反馈时间要3秒,完全无法满足用户需要,通过不断的程序优化,最后通过去框架的方式优化完成,让转盘运转如飞。

“这次是真的秒杀,2012年12月21日在1号店可以1221元买iPad mini”,这是当时的推广宣传稿。那时候这个产品才刚刚出来,外面都要比官方价还要高,直接转让利益超过1000元。而这对系统来说是一次很大的挑战,这么大的利益很可能带来很多秒杀机器人,再加上真正抢购的用户,在抢购瞬间形成对系统的脉冲,导致系统出现问题。对此我们又临时准备了防秒杀器方案,一方面让真正抢购的顾客可以享受到优惠,另一方面也防止秒杀机器人对系统的冲击。21分准点开始秒杀,用我们运维同事当天见到我的原话来说,“我从没见过系统一下子在监控平台上全部高负载报警”。虽有高脉冲,但是很快自行恢复平稳,整个系统的稳定性经过实际检验又上了一个新的台阶。

牛奶也疯狂

经常跟朋友聊天时大家谈起1号店总会谈到它的进口食品,尤其是进口牛奶,这是1号店重点打造的拳头品类。2014年3月18日,我们搞了第一次牛奶吉尼斯,挑战30个集装箱的牛奶,预计在4小时内抢购完成。完全没有想到牛奶有这么疯狂,五折的牛奶以接近秒杀的速度被疯狂抢购,由于承载这块业务的技术处理能力不足,业务隔离也未做彻底,导致部分渠道用户大量出现访问不稳定的问题。对于已经发展到2014年的1号店系统来说,已经许久没有发生过这样的情况了。系统发展速度快,各个业务间耦合度也高,一旦有一个点出现问题,可能产生的影响就越发广泛。

针对出现的问题,最核心的还是优化程序,对相关功能做好压力测试和Capacity Planning,明确各个系统之间的依赖和联系,并针对流量脉冲进行全链路优化。

3月18日,网民用时52分25秒抢空1号店30个集装箱、总计60万盒进口牛奶,5月29日,仅用时5分47秒60万盒进口牛奶就被抢完,比此前快了将近十倍。

大促常态化

随着电子商务业务发展和行业竞争,各类促销更是越发火热,不算固定的几个大促日和周年庆,每个月都会有几次全媒体(包括硬广告、软广告、互联网广告、社交广告等)的大促宣传脉冲。而且每次主打的卖点都不一样,选择的渠道也不一样,相对应的对口系统也都不一样。

市场行为的改变就给我们技术人员带来了更大的更具变化的挑战,从原来主要是核心下单高流量脉冲变成多应用系统多模块高流量脉冲的挑战,从原来每年几次里程碑大促脉冲变成常态化流量脉冲的挑战。

面对这样的挑战我们提出了大促常态化的概念,具体包括以下几个方面。
**
1.首先应用必须要高效**。所有核心业务以及相关链条上的应用都必须做好自己的Capacity Planning,有水平扩展能力和容错能力。
**
2.其次是访问链路优化。**对产生脉冲流量的应用提前做好链路优化,从最前端的各种网络设备开始,到后面的软负载、反向代理、缓存、应用服务器、数据库等要全链路进行优化,并深入了解各个应用的依赖关系,有条件一定要做隔离和限速,保障在脉冲流量到来时既有宽敞的河道又不会影响到其他正常核心业务。

3.再次就是有稳定的私有云系统。核心网络、带宽、数据库要有稳定的HA并有冗余,应用服务器要保持一定的后备资源,以私有云的方式可以快速稳定地进行资源调配。

4.最后就是有一支了解业务又精通系统的稳定的支撑团队。互联网的人才是核心竞争力,可以在飞速变化的环境中不断调整、不断拼搏,采取合理合适的方式为业务保驾护航。

作者简介

邱仔松

十年互联网技术与管理经验,2010年起在1号店先后负责技术部流程管理、商城研发和基础平台工作,在1号店亲身经历了电商业务与技术的快速发展历程;个人擅长换位思考和沟通。

时间: 2024-09-13 03:34:45

《进化——我们在互联网上奋斗的故事》一一1.5 电商大促盛宴背后的技术的相关文章

《进化——我们在互联网上奋斗的故事》一一1.4 从精兵到强将 ——技术人员的职场发展之路

1.4 从精兵到强将 --技术人员的职场发展之路 进化--我们在互联网上奋斗的故事 因兴趣而进入互联网行业 2000年,踏着世纪交替的步伐,我走进入了西北工业大学,学习航空飞行器动力专业而不是计算机专业.在入学之前,我就对计算机有不小的兴趣,进入大学后经常去学校图书馆或实验室上网,对计算机的兴趣越来越浓厚,就去图书馆找一些网页设计.网页特效等书籍学习并动手做一些练习.之后我就很喜欢用263的邮箱,因为它的邮箱支持自定义网页格式,我可以给同学和朋友发送自己设计的个性化的网页格式E-mail.那时很

《进化——我们在互联网上奋斗的故事》一一1.1 靠谱工程师向管理者的转变

1.1 靠谱工程师向管理者的转变 进化--我们在互联网上奋斗的故事 对于一个初入职场的工程师,如果有"靠谱"这样的口碑,我觉得评价很高.这意味着对于上级他能够长期满足期望,对于他人能够尊重协作.信守承诺.做到这两点其实也不简单,需要良好的学习能力和沟通能力,也需要踏实尽责的做事态度. 正站在风口浪尖的互联网是一个变化非常快的行业,也越来越多地改变着我们的生活.正因如此,一个靠谱的人大多不会被长期固定在一个岗位或一种事情上,因为公司发展趋势迫切需要他承担更多.所以这样的人很容易临危受命或

《进化——我们在互联网上奋斗的故事》一一1.3 选择

1.3 选择 进化--我们在互联网上奋斗的故事回顾 →学生时代和计算机← 作为一个出生在1971年的北京孩子,我在1990年9月进入大学学习之前,从没有接触过真正的计算机.那时候最早的一些和计算机有关的知识就是小学时候(印象里是在1983-1984年)在北京官园少年儿童活动中心玩过一个"吃豆"的游戏,用操作杆控制着一个大嘴,一边吃掉迷宫里的的"豆子",同时躲过"坏蛋"的围追堵截.1984-1990年是我的中学时代,那时的北京中学生是比较流行去看武

《进化——我们在互联网上奋斗的故事》一一1.12 在前行中蜕变

1.12 在前行中蜕变 进化--我们在互联网上奋斗的故事 到2014年,我的职业生涯刚好走完了第四个"5年规划"--我已经工作整整20年了.20年,对于大多数人的职业生涯来说,已经过半,即便是放在一个人的一生中,也是一段漫长的光阴.在这20年中,我的职业有过几次变动,工作的内容也在不断转换,幸运的是,总体上自己在职业发展方面基本上走的是一条上扬的曲线,没有太多的弯路. 有时候,我也会琢磨,自己在职业发展上为什么相对比较顺利?抛开完全的运气成分,有几点感受特别深的地方,我认为,在某种程度

《进化——我们在互联网上奋斗的故事》一一1.8 互联网生涯的三种境界

1.8 互联网生涯的三种境界 进化--我们在互联网上奋斗的故事 国学大师王国维提出做学问有三种境界:(1)昨夜西风凋碧树,独上高楼,望尽天涯路.(2)衣带渐宽终不悔,为伊消得人憔悴.(3)众里寻他千百度,暮然回首,那人却在,灯火阑珊处.我虽不敢妄称自己到达了其中哪个境界,但我认为这三个境界应该是一直孜孜不倦追求的. 昨夜西风凋碧树,独上高楼,望尽天涯路 这词句出自晏殊的<蝶恋花>,原意是说,"我"上高楼眺望所见的更为萧瑟的秋景,西风黄叶,山阔水长,案书何达?在王国维此句中解

《进化——我们在互联网上奋斗的故事》一一1.11 OKRs在J公司

1.11 OKRs在J公司 进化--我们在互联网上奋斗的故事 先从战略管理谈起 咱们先不谈KPI也不谈OKRs,因为这都是对战略目标执行效能进行衡量的考核方法,所以我们先得谈战略目标是怎样来.怎样落地执行,然后才能谈到战略目标达成效能的衡量. 战略目标怎么来?这就涉及到企业的使命.愿景.蓝图.就如同德鲁克在<管理的实践>1中一开始就提问:我们的事业是什么?我们的事业将会是什么?我们的事业应该是什么?也就是说,我们到底想成为什么? 西方流行的创业说法是贵族式的,是希望通过众人资源整合的力量达成社

《进化——我们在互联网上奋斗的故事》一一1.6 从平凡到优秀

1.6 从平凡到优秀 进化--我们在互联网上奋斗的故事 毕业前,要做些什么 学习.恋爱.游戏.打球.考G考托等,毕业前可以做的事情很多,在这里,我们聊聊在校生职业规划. →不喜欢学习的专业,怎样选职业←学生在校期间所学的专业与未来所从事的职业并不是必然对应的,职业的多样性选择才是生活丰富性的体现.保持开放积极的心态最重要的,多多借助互联网.书籍.学校.社会实践活动.社团交流等途径了解和决定自己未来希望从事的职业,逐步做好职业方向规划. →职业规划需要注意哪些要点←职业规划是一个逐步完善的过程,包

《进化——我们在互联网上奋斗的故事》一一1.9 职业素养中的品德细节

1.9 职业素养中的品德细节 进化--我们在互联网上奋斗的故事作为一个技术人员,一谈到职业素养,可能更多的是联想到专业技能.可是在漫长的职业道路上,除了专业的职业技能外,还需要加上职业行为.品德.作风才能得到在职业过程中综合品质的评价. 前段时间,在一本书中看到这么一个词"思维定势",从中获得了很多的感悟.思维定势(Thinking Set),源自于人类大脑本能反应的一种能力,在近代不断地被许多的"思想家"."管理学家"所关注.究竟思维定势是指一

《进化——我们在互联网上奋斗的故事》一一1.10 十年随想

1.10 十年随想 进化--我们在互联网上奋斗的故事毕业于非典之年,工作了十多年,就职过三家公司.第一家公司是一家传统制造企业,工作内容是在公司研究所负责电气控制部分,画电路图.PLC编程等.初入职场,专业也算对口,过得比较充实.一年之后,开始考虑以后到底要做些什么的问题,按流行的说法叫做先就业再择业.由于一直对软件开发感兴趣,还是想转行到软件行业.注意到软件测试的职位,当时软件测试是一个新兴职业,考虑到未来发展和个人兴趣,就开始不断关注,学习相关的知识,后来通过面试进入了第二个公司尚阳科技,做