营销中台建设篇:商品库存中心,让货物流动起来
admin
2023-08-09 04:00:41
0



在上一期的“交易中心,让买卖随时随地发生”中提到:胜天半子营销中台把交易作为核心,从业务端看交易的本质是业务流转云端的能力,不管什么样的业务场景与应用,只要交易场景存在,交易能力就应该能覆盖。本期文章我们将以商品库存为重点,继续探索业务中台。





定位


不论互联网电商还是传统ERP,库存都是需要重视的,甚至可以定位为企业的“命门”。企业进销存业务都是直接与库存挂钩,不管是库存过多导致滞销,还是库存过少导致供货不足,都对企业影响很大,所以说:库存周转率直接影响着企业的现金周转效率、利润率。


商品库存中心——也就是胜天半子的选品中台,通过后台可以随时查看商品库存数据变化,精准跟踪变化,统一管控全渠道商品库存数据。


商品库存贯穿整个进销存价值链路,无论是从供应链的采购、调配、采购退货、盘点等环节,还是从销售线的下单、发货、售后等流程都与之息息相关。各方业务对库存的高度关联催生“高内聚低耦合”库存中心服务能力,统一对外提供服务,避免“烟囱式”IT系统架构。



业务


从表面看商品库存中心就是管理商品在仓库的库存数据,包括仓储总库存和各线下店铺库存:


店铺库存:即前台库存,也就是面向用户的商品库存数量;

仓库库存:即后台库存,就是面向仓库的库存数量。

主要为了维护仓储数据和店铺数据,实时把控仓库数据的精准性。下图简单反映库存中心的业务范畴:





数据模型


根据以上业务看出仓库、仓库库存、店铺仓库、店铺库存、仓库映射、出入库明细等数据模型,同时支撑前端应用电商ERP\商城对库存中心的诉求,如下图所示:





服务能力


根据业务+数据模型,沉淀其服务能力,以API形式对外赋能,通过服务编排、接口组装,灵活搭配前端应用功能。




服务接口设计遵循规则如下:





解决方案


1.秒杀、拼团、砍价等高并发场景下,如何支撑库存扣减服务?

【现象】

流量瞬间剧增,造成秒杀库存的争抢;

高并发下应用、数据库负载连接突然飙升;

黄牛刷单、恶意刷单。

【应对】

交易库存无锁化设计,避免数据库锁资源争用;

应用集群化设计,应对超大规模业务处理负载;

分布式数据库消除数据读写瓶颈,自由弹性伸缩;

风控中心实现不同维度的限流规则,对恶意请求进行拦截,在业务洪峰来临时对系统进行过载保护。

2.如何避免库存超卖?


避免超卖是库存系统架构设计和系统实施的底线原则,设计总思路如下:

提交订单锁定库存时,比较秒杀数量与可锁定库存的大小,如果秒杀数量大于可锁定库存,则秒杀失败。原理看似简单,但要考虑过在高并发场景下如何保证秒杀库存不超卖?具体细节可留言讨论,本文就不过多透露了!

3.如何最大化提高库存中心性能&保证库存数据完整性?


除了架构上实现集群分布式部署,为了更好地提升服务能力、提高接口性能,库存中心60%~70%链路使用异步调用。异步调用主要有消息队列、异步任务、并行调用策略等。


为什么订单链路上锁定库存逻辑、店铺库存重新计算分配如此快?是由于大部分链路使用的是异步调用,而只有核心链路中某些最核心的环节中才会使用同步调用。


另外,将服务主链路拆分成各个异步子链路,可增强系统可维护性,各个子链路调用失败支持自动+手工重试。库存中心基于任务集群分片、分治做异步调度,实现适配业务的各种定时任务类型:



实时任务:作用于主链路逻辑的异步化;

小时任务:作用于接口调用失败后重试;

日结任务:作用于业务数据日结,保证最终一致。


另外,库存中心的其他关键性设计如下:



库存异动实时分发,应用解耦、搞定数据异构;

具备接口、应用级别限流、降级、熔断的能力;

具备全链路调用跟踪、接口性能与监控告警能力;

具备运行环境状态监控与宕机告警能力;

具备实时分析海量日志的能力。

相关内容