模块|分布式场景下的OMS系统设计
编辑导语:OMS即订单管理中心,可以看作是电商系统的核心,其所需要具备的功能包括汇集数据、分发、跟踪汇总等等。那么,如何依据实际业务场景、搭建一个可支撑的、稳固强大的OMS系统?本文作者针对分布式场景下的OMS系统设计做了总结,一起来看一下。
文章插图
一、OMS所处位置通常我们所谈论的网上购物为狭义电商,属于广义电商的一种,即以电子化手段进行商品交易的一种行为。
狭义电商简单可以描述为货、款、以及货与款的关系。同样,转化为电商系统主要核心模块可以分为WMS仓储系统、FMS财务系统、OMS订单系统。
文章插图
在电商的三大核心模块中OMS订单系统又可以看作核心中的核心,所有系统以围绕着订单模块进行构建,如果整个电商系统比作人体器官,那么OMS当之无愧可以比作人的心脏,所以OMS系统设计的好坏,直接影响着其他系统的构建。
文章插图
二、OMS作用OMS系统承上启下处在电商系统业务链的中游。通过各个平台聚集到OMS的订单,系统通过会员信息、收货信息、优惠信息、商品、积分、支付等条件对订单提供后续处理,如合单、拆单、第三方推送、分发仓库、通知扣减积分,库存、创建退款,退货申请单等操作。同时具备从其他系统上报收集追踪订单变化。如出库、物流信息,并对其他系统运营分析提供数据支撑。
可见OMS系统要具备数据快速聚集、加工、分发、跟踪汇总的能力。
三、OMS设计了解了OMS所处位置和作用,接下来谈谈如何设计一个稳健的、可持续性的OMS系统。
我们知道建设大楼,会考虑地基、主体结构、周围环境、承载以及抗震能力等各种因素。系统搭建也一样,对达到什么样的预期目标也需提前做出制定,制定的要求越高,设计考虑的因素就越多。
1. 订单相关表字段
文章插图
2. 前后端数据读写分离根据用户群体的特点,前后端数据库主从读写分离、应用服务分开灵活部署。主数据库处理相关业务事务,大量的查询转移到从数据库。一是减轻主数据库的压力,二是前后端物理隔离一方宕机可降低对另一方作业的影响。
文章插图
BDMS 业务+数据(中台)库与OMS 订单库特点对比:
文章插图
3. 分表归档根据C端用户特性查询订单以会员维度区分,所以缓解前端访问数据压力,分表设计是个不错的选择。按照订单号1024取模方式,会员编号尾号数字1位,2位取模方式等等。
文章插图
4. 业务解耦架构从单体、三层、再到分布式微服务的变化,业务边界也从领域驱动建模开始制定到最终分而治之,各得其所。各个分拆模块更具独立性和可扩展性。所以设计时其他业务模块数据不应混到单独某一业务模块中,数据交换传递统一通过服务接口形式获取。这也体现了分布式系统一切皆服务的思想。
业务拆分后的三大模块主要变化时间轴:
文章插图
从客户角度分析,C端用户界面可操作性较低,要求简洁、直观、易懂。如会员中心订单tab分类:查看全部、待付款、待发货、待收货、待评价、退款/售后。
推荐阅读
- 商贸|衢江:聚焦三大数字场景打造数字生活新服务样板县
- 场景|全面开花 潜力巨大!数字人民币渐行渐近
- 客户体验管理|「猎云网首发」DIA数皆智能获东方富海近亿元B轮融资,聚焦全场景客户体验与数据驱动运营
- 数字人民币|国办:支持在零售交易、生活缴费、政务服务等场景试点使用数字人民币
- 客户|抓住3大场景5个关键需求,做好品牌电商的拼团产品设计
- 支付|腾讯微信支付支持全量商家小程序场景开通中国银联云闪付功能
- 微信支付|腾讯微信支付支持全量商家小程序场景开通中国银联云闪付功能
- 微信支付|腾讯公布互联互通新进展:微信支付支持全量商家小程序场景开通云闪付功能
- 王剑伟|快手与美团达成战略合作:互联互通为本地生活商家融入多元场景
- 胡晓雯|杭州桐庐:搭建企业数字服务平台 多应用场景让产业发展更有“数”