营销中台建设篇(三):库存中心,让货物流动起来

在上一期的(《营销中台建设篇(二):交易中心,让买卖随时随地发生》)中提到:美云智数营销中台已建设了交易中心、商品中心、库存中心、支付中心等十多个共享服务中心,对外提供的服务支撑了B2B商城、B2C官网商城、B2B2C分销商城、全渠道管理、新零售业务、会员营销等业务应用运行。本期文章我们将以库存为中心,探索业务中台的冰山一角。



定位

不论互联网电商还是传统ERP,库存都是不可回避,甚至可以定位为企业的“命门”。企业进销存直接与库存挂钩,要么是库存过多导致滞销,要么是库存过少导致断货,库存周转率直接影响着企业的现金周转效率、利润率

库存中心作为商品库存数据变动的依据,精准追踪变化,统一管控全渠道商品库存数据。库存贯穿整个进销存价值链路,无论是从供应链的采购、调拨、采购退货、实物盘点等环节,还是从销售线的下单、发货、售后等流程,再到线下仓库的拣货、打包、发货等都与之息息相关。各方业务对库存的高度关联催生“高内聚低耦合”库存中心服务能力,统一对外提供服务,避免“烟囱式”IT系统架构。


业务

顾名思义,库存中心即管理商品在仓库的库存数据,再往上抽象一层可分为仓库库存和店铺库存:

  • 店铺库存:也可以称之为前台库存,也就是面向用户纬度的库存数量;
  • 仓库库存:也可以称之为后台库存,就是面向仓库纬度的库存数量。


主线逻辑主要是维护仓库库存和店铺库存,并最终保证库存数据的准确性,下图简单反映交易路线上库存的执行路径及库存中心囊括的业务范畴:




数据模型

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



服务能力

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



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



挑战

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

现象

  • 流量瞬间剧增,造成秒杀库存的争抢;
  • 高并发下应用、数据库负载连接突然飙升;
  • 黄牛刷单。

应对

  • 交易库存无锁化设计,避免数据库锁资源争用;
  • 应用集群化设计,应对超大规模业务处理负载;
  • 分布式数据库消除数据读写瓶颈,自由弹性伸缩;
  • API网关、应用层、中心服务层都实现不同维度的限流规则,对恶意请求进行拦截,在业务洪峰来临时对系统进行过载保护。


2.如何避免库存超卖?

避免超卖是库存系统架构设计和系统实施的底线原则,设计总思路如下:提交订单锁定库存时,比较秒杀数量与可锁定库存的大小,如果秒杀数量大于可锁定库存,则秒杀失败。原理看似简单,但是否考虑过在高并发场景下如何保证秒杀库存不超卖?本文就不做过多的机密泄露了。

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

除了架构上实现集群分布式部署,为了更好地提升服务吞吐力、提高接口性能,库存中心60%~70%链路使用异步调用。异步调用主要有消息队列、异步任务、并行调用策略等。为什么订单链路上锁定库存逻辑、店铺库存重新计算分配如此快,是由于大部分链路使用的是异步调用,而只有核心链路中某些最核心的环节中才会使用同步调用。

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

  • 实时任务:作用于主链路逻辑的异步化;
  • 小时任务:作用于接口调用失败后重试;
  • 日结任务:作用于业务数据日结,保证最终一致。


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

  • 库存异动实时分发,应用解耦、搞定数据异构;
  • 具备接口、应用级别限流、降级、熔断的能力;
  • 具备全链路调用跟踪、接口性能与监控告警能力;
  • 具备运行环境状态监控与宕机告警能力;
  • 具备实时分析海量日志的能力。


写在最后

基于业务实践,美云智数拥有中台能力以及成熟的解决方案,我们将不忘初心,一如既往地行走在中台建设道路上,道虽阻且长,越过山丘,风景独好!

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();