订单系统:先减库存还是先下订单

Posted teles

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了订单系统:先减库存还是先下订单相关的知识,希望对你有一定的参考价值。

答案是先下单再减库存

mysql 作为 DB 为例,下订单就是 insert,在使用索引的情况下,insert 插入是行级锁,支持每秒 4W 的并发。减库存就是 update 操作,命中索引时也是行级锁,但是这是个独占锁,所有的操作都要等待前一个释放锁后才能继续 update。

问题就在这里,根据 MySQL 两段锁协议,我们应该把热点操作放到离 commit 近的位置,这样可以减少行级锁的持有时间!自然处理效率就更好一些。

事务begin ---> insert ---> 其他操作 ---> update ---> 事务commit

以上是关于订单系统:先减库存还是先下订单的主要内容,如果未能解决你的问题,请参考以下文章

处理订单业务多面手,订货管理系统实现企业订货库存统一管理

秒杀系统,扣库存,高并发场景下订单和扣库存讲解

秒杀系统,扣库存,高并发场景下订单和扣库存讲解

消息队列面试题汇总

旺店通erp系统怎么弄直接生产

Day434.订单&库存服务分布式事务的最终解决 -谷粒商城