为秒杀接口定义一个静态常量,可设为比库存更大的值在接口中进行常量判断,符合条件的请求加入消息队列中,不符合的直接返回失败最后将消息队列中最靠前的库存量的请求进行处理。

解决方案 »

  1.   

    秒杀可以加入队列,不过是否抢购商品成功,需求等队列处理完后通知用户,1.用户抢购后将请求加入队列,提示用户正在抢购中请等待,此时开启一个方法不停的去查询是否抢购成功,2.同时队列不停的消费,去减库存,改变用户抢购状态,为成功或失败,3.用户界面拿到状态就over了。。只是一个简单分享。
      

  2.   

    如果抢购并发不是海量,而只是每秒2000以内,那完全没必要用缓存或队列,mysql数据库足够了
    用mysql数据库行级锁,同时配合各量之间的关系,便可轻松做成抢购,同时也能防超卖,又能做到最公平。