第一次值守双十一,居然没有任何意外发生?!
之前在学校读书的时候,遇到618、双十一等电商狂欢节时,最直观的感觉就是凌晨12点的下单的时候卡了一下,支付遇到网络异常,再试一下之前选中的商品有一些就售罄了,又匆匆忙忙选了一堆凑满减,然后后面一周都能看到快递站门口长长的取件队伍。当时作为一个准程序员,对于双十一所带来的技术挑战只有一个朦胧模糊的认知,只知道很厉害,但是具体双十一这天代码会遇到什么问题,又是如何解决的就不清楚了。今年七八月份入职电商行业后,便开始期待双十一,想看看是如何应对这种大促场景的。
双十一前的准备工作
一般来说,提前一个月就开始双十一的准备工作了,会要求各业务线的负责人根据平时以及上一次大促的流量预计当前本服务可承担的流量,如果不能承担则需要申请大促扩容。是的,你没有看错,大部分高并发的场景都可以通过加机器解决,就是这么简单。要么加机器,要么提升数据库的配置,基本上这两样就承担了所有的准备工作。 如果有一些不能通过扩容解决的,一般都通过限流、降级等方式解决,优先保证主链路的通畅,旁支链路可以后面再处理。
双十一当天在干嘛
双十一的需求至少提前两周都搞好了上线了,双十一的时候为了控制变量、防止意外,各大部门基本上都会收拢变更的权限俗称封板,平时变更各个小组长确认就好了,但是双十一的时候进行变更需要本业务线的双十一作战队长进行审批后才行。非必要不变更,不发版,意外就不会出现。
由于不能发版,双十一当天一般都在盯着监控,看看流量的波动,如果有突发情形,比如QPS突然提高了100倍,就需要进行紧急处理,执行降级、限流、熔断等方案。但是今年的双十一似乎各大活动都提前到了10月底,双十一那天的流量非常平稳,只有当天要结束时才出现了一点波动。
由于是家小公司,双十一当天公司并没有像淘宝、天猫那样的氛围,今年不知道是疫情的原因还是节流的原因,往年双十一当天丰盛的下午茶也没有了,只发了一个冰淇淋你敢信。 和阿里的同学一比较,感觉有些落寞。
总而言之,当天服务没有出啥意外,有点无聊,甚至希望出点意外增加点刺激性。
双十一后的收尾
双十一当天积累的巨巨巨巨巨巨大量的数据,并不是在用户下单后就结束了,还有一系列的流转。 比如会有一些批处理任务对前一天的订单进行打标处理,平时可能几个小时就跑完的数据,大促当天估计要跑几十个小时,这能怎么办呢,只能加机器扩容,同时还要通知下游一起扩容,防止把下游的服务给打挂掉。 为了确定程序是否能否在规定时间完成,可能还需要自己手动算一下总数据量和QPS,预计一下多久能完成批处理任务,不行就只能带着下游一起扩容。
总结
俗话说 面试造火箭,进厂拧螺丝。面试的时候,对高并发的秒杀系统可以说是信手拈来,分析的头头是道,入职后才发现系统已经很成熟了,最多只需要自己扩容就好了。希望明年双十一的时候,我有更复杂的场景的解决方案分享给大家。
#双十一##新职人职场初体验##入职感受##电商双十一#我是日暮与星辰之间,一名初入电商的Java工程师,创作不易,求关注、求点赞、求转发。有任何问题欢迎在评论区交流。
介绍一下自己的点滴思考