在买家付款前,系统会校验该订单的库存是否还有保留:如果没有保留,则再次尝试预扣;如果库存不足(也就是预扣失败)则不允许继续付款;如果预扣成功,则完成付款并实际地减去库存。...针对恶意下单这种情况,虽然把有效的付款时间设置为 10 分钟,但是恶意买家完全可以在 10 分钟后再次下单,或者采用一次下单很多件的方式把库存减完。...,其他的服务器用于服务大量的查询接口;
二 订单定时取消的优化
订单定时取消是一个非常常见的需求,尤其是上面说到的下单减库存模式,因为我们有时候会比较担心用户下单了,但是不支付,这时候又锁住了库存,那其他用户就一直没法购买了...,但是呢我们有时候没有办法一下子处理那么多订单,让他过期,比如有*十万个订单同一时刻过期,不论咋样我们肯定没有办法同时处理完的.但是呢这种超时订单是绝对不能继续让他进行支付的,咋办呢?...我们可以进行数据的另类同步,我们可以在任何查出到这个订单的地方都对状态进行两种判断,比如1 订单状态为超时,2 订单状态为下单中,订单下单时间距离现在超过了15min,这两种状态咱们都认定他为超时,这样呢我们就可以做到一定程度上的订单同一时间超时了