商品有一百件,涌入1000个请求。前200的请求保留,后800的请求直接返回暂无。
这两百个请求,最终下单成功的只能有一百个。
这两百个请求直接按照队列生成订单吗?
可是生成订单前不是要勾选地址等信息吗?
应该如何处理整个流程?
不是直接生成订单,所谓队列,就是放入场券在里面,凭券购买!可以都是数字1,也可以其他的来代替!redis是单线程,出队也是按先后的,队列空时返回false。只要用户拿到入场券,立即将该商品放入该用户的购物车,直接走普通的购物流程即可!
直到最后一步才是队列/加锁锁。。开始都是填信息,最后一步提交库存的时候要加锁了,简单的就是memcache add就行,如果比较复杂就走队列去处理
不是直接生成订单,所谓队列,就是放入场券在里面,凭券购买!可以都是数字1,也可以其他的来代替!redis是单线程,出队也是按先后的,队列空时返回false。只要用户拿到入场券,立即将该商品放入该用户的购物车,直接走普通的购物流程即可!
直到最后一步才是队列/加锁锁。。开始都是填信息,最后一步提交库存的时候要加锁了,简单的就是memcache add就行,如果比较复杂就走队列去处理