用户余额下单,分库后如何保证一致性
用户余额一个库,订单表一个库,资金明细一个库
用户采用余额下单,怎么在大并发情况下保证不会被多下单且数据一致
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
用户余额一个库,订单表一个库,资金明细一个库
用户采用余额下单,怎么在大并发情况下保证不会被多下单且数据一致
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
操作用户余额用原子操作
多下单你是指限购吗?
那就先创建订单(至少保证在任何情况下断电不会丢订单),然后在用类似下面的语句减余额
然后根据语句的执行结果去修改订单支付状态并添加资金明细
如果业务要求用户能显示出的订单必须都是成功支付的,那就把没支付成功的不显示就行了
最怀情况扣了钱还没来得及修改订单状态添加资金明细服务器断电了,这时靠余额库的数据库操作记录去恢复数据修改订单支付状态和资金明细(可能会需要一些人工处理)