分销业务、电商业务中有一个比较常见系统设计,团队在设计该部分系统时候可能会无从入手。本文即将介绍一种通用的库存同步系统设计方法。以分销系统为例,分销系统一般会有多个库存数据来源。在数据来源中,我们可以将数据进行分类,一类是库存数据,如ID为1000的商品在1月1日的价格为100库存为1;另外一类是额外数据,如库存的商品详情,分类,主题,产品等等。广义的库存信息保护有这些信息,而狭义的库存仅仅包含时间、数量、价格。
从数据流向上来看,我们的数据会先进入拉取库(如使用MySQL),在拉取完成之后我们可能对部分的数据有修改的需求,这部分由于运营策略过滤代码或者进行运营库合并工作,拉取库和运营库合并并进行横向多库合并之后完成进入生产库。
而在拉取库策略中,我们一般有三种策略方式:全量拉取策略、增量拉取策略、单项拉取策略。
库存合并拉取库的数据会经常性变化,而运营库的数据根据运营的需求进行修改,生产库作为C端用户面向的库需要比较稳定数据。
从库存系统流程,请求、转换、入库、是拉取流程必要的步骤。
1、请求验证包装。库存接口一般存在着授权验证需要,所以在请求层应当做好认证的封装,特别需要注意请求Auth重用设计。
2、数据自动映射。从接口到拉取库的数据会有一些差异性,特别因为需要兼容多个外部源的情况下,这个差异会更加明显,所以需要进行自动和手动(编码)转换处理。
3、批量入库设计。转到拉取库之后进行入库操作,需要对入库的操作进行合并优化提高入库速度。
接口中存在的翻页设计,
处理的队列包含三类:
1、拉取翻页任务,接口拉取需要自动进行翻页拉取。
2、任务中会涉及其他的接口请求任务。
3、单项拉取任务
全量拉取策略:全量领取一般在系统初始化、定期同步、系统数据异常使用。
增量拉取策略:增量拉取通过读取存盘点增量拉取。
单项拉取策略:一般用于推送之后的单项拉取。
网友评论