不持久化的库存服务
2015-12-24 18:18:47 3 举报
不持久化的库存服务是一种临时存储和管理库存信息的服务,它不会将数据永久保存在数据库或其他持久化存储介质中。这种服务通常用于处理大量的库存交易,例如电子商务网站或零售店的销售和退货。由于数据不会长期保存,因此这种服务可以快速响应用户请求,并且不需要进行复杂的数据备份和恢复操作。然而,由于数据不是持久化的,一旦系统崩溃或出现故障,所有未保存的数据都将丢失。因此,在使用不持久化的库存服务时,需要谨慎处理数据,并确保及时将重要信息保存到其他可靠的存储介质中。
作者其他创作
大纲/内容
库存不足
库存更改
更改库存
OMS进程事务
上悲观锁
有记录
状态
是
OMS执行成功
更改请求记录状态
失败
等待一定的周期
记录到stockQueue中,以便更新Stock和SP
库存服务事务
插入OMS数据库的库存请求记录
1
成功
否
事务中的其他数据操作
ID
创建库存请求记录
查询库存请求记录
执行成功
...
问题:库存服务恢复时,为了保证数据一致,必须一次性读取。但不能只对一张表的查询设置成脏读由于这个原因,该方案被否决
库存进程强制失败
flush
库存充足
插入失败记录
没有记录
逆向恢复库存
OMS数据库
库存服务是否是多进程/多线程
接受请求
ID唯一索引
判断库存
库存服务数据库
找到待确认的库存记录,进行判断
回传
多个一起flush,可能会失败,失败情况库存进程需要重试
库存不足,关闭或者继续后续代码
注意,如果一个事务中有多个库存操作,那么库存请求记录的动作,应该批量一次性处理,否则会导致库存进程,待确认的动作等待OMS进程。这块还是有待优化,最好可以支持不用批量一次性操作
执行失败
发起库存操作请求
待确认
事务中后续操作是否成功
判断状态
返回oms的库存记录
0 条评论
下一页