现在使用是私有部署版本,初步做了一个 ERP,发现个问题,求助解决方案
在多人开单时,如果开到同一个库存,但是在未保存的时候,另外一个人也能开到同个品种导致库存出现负数,这个能怎么实现多人开单时开到同品种能及时刷新
请
登录后发表观点
个人浅见,用一个字段控制是保存了还是未保存的。
然后库存表和修改操作的表分开,通过流程去修改数据。
金融交易级解决方案:
对于查询方,以长连接方式实现毫秒级推送更新。
对于变动请求,用极快响应算法生成序列号,所有请求按序列号排队处理并更新库存。
库存能认为随便操作?
没什么好办法,高并发的确不好处理。万一错了就修改吧。我记得还有社区有个关于多子争权的算法设计,如果你要求有这么高,可以考虑这样的算法
这确实是个问题,坐等各位大师高见
用一个版本号去控制,刚进入流程就把版本号存入流程参数,在修改后去判断版本号对应得上不,对应不上就去回滚操作
不是有个记录查询吗,以前查询崩溃的东西,夸夸夸在那刷
再挂个单连,他表库存就能判断了,那确实可以保证实时库存
但是,并发就不好说了,总有先后的
保存之后查库,查库后锁库。医院 APP 挂号流程是什么,你就怎么做。操作会变得繁琐,但既然多人同时开单了,繁琐就是为了避免并发。
阿良 7天前冻结库存,根据状态进行控制啊
那也是要提交后,有保存才行,像多人同时开单,还在新增时 未提交就出现开重复了
冻结库存,根据状态进行控制啊
扣库存前做一个检查