查看原文
其他

Shopee 9.9大促幕后故事:守护卖家每一单,守护你的“战利品”

小虾米 Shopee虾皮招聘 2022-08-11


提到电商,自然而然蹦出的第一个词就是用户,他们是买买买的主力军,是引发大促峰值流量的关键要素,也是最贴近日常生活的每个“你”。


而你收到的实际包裹,最初都孵化于后台的一张张订单,今天我们将走近Shopee的卖家团队,看看订单背后的故事。


01

 重重优化有的放矢,系统稳定发货流畅 

故事主角:Max | 深圳研发中心卖家团队工程师


Max在今年9.9大促中做了对订单专项治理的统筹工作,主要任务就是保障系统的稳定性,在卖家“爆单”的同时能够顺畅发货,做好包裹发出前的守护骑士。


对技术同学们来说,这件事情的难点不仅在于,大促将带来数倍增长的订单流量,即使是一个简单的功能,在突发的流量面前也很有风险;更难的是,期间会遇到很多不确定的因素,涉及到非常多的依赖方——比如供应链对接的第三方物流渠道,他们的系统如果不稳定,同样影响卖家功能的使用。


综合各方考虑,以稳定性为最高原则,Max带着团队进行了重重优化:


第一,对系统的架构进行全链路的梳理,找到薄弱的地方针对性地进行优化,通过对服务进行隔离、对数据库进行拆分、对中间件进行隔离等,保证服务的独立性,不与别人产生耦合,这样大促期间大家的系统就不会互相影响,从而保持聚焦我们自己的系统;


第二,对系统做容量预估、做压测,根据预估结果与上下游系统对齐大家的服务能力水平;


第三,考虑到预估的“偏差性”,准备相关的降级开关和紧急预案等,同时做好演练,避免到时候真的有问题了,预案变成纸上谈兵。





经过近两个月的重点攻关,今年9.9大促过渡得相当平稳,背后凝结着团队的力量。Max提到让自己印象深刻的伙伴,有非常积极主动的同学,做出了一个提升效率的脚本工具,节省了团队的优化时间;还有责任心爆棚的同学,和团队一起做数据库的拆分,担心影响卖家选择凌晨才开始执行,第二天又一大早赶到公司,为了观察系统有没有什么问题。


对Max来说,一个大促的结束不是终点更像是起点,他们已经投入对结果的复盘工作,希望未来技术上能构建出更准确的模型,在保障系统稳定性的同时,让资源利用率无限接近最高,且不断研发创新。


02

 保重点疏通“河道”,差异化服务卖家 

故事主角:Yuna | 深圳研发中心卖家团队产品经理


Yuna既是Shopee新人,也算得上职场新秀,去年九月加入公司,工作经历不到三年,做事和谈吐却非常成熟稳重。她在的团队主要负责订单管理和履约,面向所有C2C的卖家,需要保障卖家们在一定时间内把货发出去,能够对订单做出评价、取消、报表等等操作,而其中最核心也最重要的就是发货的功能。


所以她所在团队的工作职责很“简单”也很明确——围绕卖家的利益去展开:


第一,尽可能保证卖家不会因为系统的原因发不出货,避免被系统惩罚或者取消订单,造成卖家损失以及平台损失。


第二,尽可能协助卖家将业务场景线上化,提升出货效率,比如在履约过程中,除了发货还有打印面单、拣货单、装箱单等文件,有一些信息是来自第三方渠道,当渠道出现异常,要能帮卖家兜底,将影响降到最低。


第三,尽可能完善、迭代更好的卖家使用体验,面对大促的挑战不止是做一个项目,而是去做一个长期优化的事情,除了筹备保障稳定的技术方案,还要不断接新的业务需求,升级功能的全面性。





当目标明确的时候,任务规划就会非常清晰。针对9.9大促可能出现流量过大导致系统负载的问题,Yuna设计了限流、降级等方案来解决: 


限流的好处在于,不会出现系统直接崩溃的情况,且用户在等候期间不影响其它操作;而降级的处理方式,指的是大促期间会通过关闭一些非核心流程的小功能,优先保证核心功能的使用,让多出的系统资源去支持更重要的功能,目的都是保障卖家能顺利完成发货。


一个订单的“一生”可以概括为成立→支付→履约→完成,如果在履约这个核心环节挂掉,就会导致所有订单卡住,相当于整个链路堵住了。所以他们做的事情就是“疏通河道”,让订单走到完成的终态去。



由于Shopee业务的飞速发展,每一次大促都会刷新用户流量和订单数量的高峰,都是对系统的全新考验。通过接触9.9大促,Yuna更加清楚了解了每一次系统扩容和功能降级对系统负载能力的影响,以及在不同流量情况下功能的使用表现;也更深入地和开发一起探讨了很多技术层面的问题。


马上,团队又要投入新项目,随之而来的是压力,也是机遇。期待将服务更多的卖家,提供更丰富、差异化的工具,以符合东南亚各市场的日常使用场景。未来Yuna会继续保持与当地市场的交流,在求同存异中协调出最优方案,打磨出体验越来越好的Shopee产品。


示意图:Shopee泰国市场卖家后台订单列表页


03

 平时工夫下得深,大促“考验”全扛过 

故事主角:Jie | 深圳研发中心卖家团队工程师


当你准备下单购买前,最常见的行为一定是与卖家进行沟通,再往前有可能是收到了店铺发来的优惠信息,促使你产生了消费的冲动。Jie所在团队做的事情,就发生在订单成立之前。


在Shopee平台上,对卖家而言很重要的一个功能是要与买家建立联系,Chat项目既承载着买卖家通过小窗口聊天的功能,又可以实现卖家对商品的一些操作。但“发消息”这件听起来很小的事情,9.9大促会带来什么样的挑战呢?


Jie说:“大促期间除了承载普通的一对一聊天,还有卖家发的营销活动消息,这个群发消息是个扩散的过程,一个卖家的操作就可能发出n条消息,远远超出平常的消息量!对我们整个系统、各个相关团队来说都是一个很大的挑战。”


相对于其他系统是将稳定性作为首要目标,Jie和团队面对的爆炸增长的问题,则需要不同的解决思路。


一,要进行快速迭代,把性能发挥到极致,同时目光要放长远,做出往后一两年的优化技术方案。


第二,要针对主要矛盾拆解问题,进行需求取舍,在短时间内达到预期效果。




针对难点,他们用了一个多月的时间去做分流服务拆分,Chat之前的架构,普通消息和群发消息走的同一条链路,可以保证消息的及时性、准确性、顺序性三个主要特性。但大促期间的群发消息相当于暴雨季节的洪峰来了,如果还要同时满足这些特性,系统压力非常大。所以基于群发消息更重要的是保障准确性和顺序性,Jie对需求做了一个取舍。


他们把整体系统架构做了一个切割,分出两条业务链路,普通消息还是走能同时保证及时性的通道,群发消息量大则走另外一条通道,特点就是可以“牺牲”一部分及时性。这样在大促期间,即使面对了爆炸增长的群发消息,系统依然稳定,实时消息的功能也不受影响。


在很短的时间内,团队不仅保证了9.9大促期间买卖家畅通无阻的购物体验,为每一个成交的订单搭起重要桥梁;而且从设计上能够满足未来1-2年业务的增长。


Jie把大促当做一场阶段性的考验,所有的挑战都是在验证优化的结果,而这些结果的积累在于日常工作。只要平时工夫下得深,无论是9.9还是接下来的10.10、11.11、12.12等等大促,都能顺利扛过去。



想挑战大促爆发流量的丰富场景吗?

想深耕技术将专业能力发挥到极致吗?

想抓住东南亚蓝海的绝佳机会创造历史吗?


加入Shopee深圳研发中心

参与卖家、买家、供应链、金融等方向多条业务线

技术潮头立,扬帆正当时


pick心仪岗位,扫码投递简历


LEARN MORE

点击阅读原文,加入Shopee

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存