1.所有的静态页面不要和秒杀服务器放在一起,最好是放在cdn服务器上,减少流量的压力.
2.将要被秒杀的商品相关信息放入redis缓存中,比如数量等.
3.用户抢购时,直接使用decrease减少数量,减少到0就不再减少,减少请求成功的用户就相当于抢购成功,减少请求失败的用户就直接返回.一般情况下,商品抢购的数量不会很多,差不多也就几百几千几万,如果就是几百或者几千,可以直接让抢购成功的用户下单入库,不用经过消息队列消除峰值,几百几千的tps数据库还是能顶住的.
4.如果是几千上万的并发量,那么mysql就顶不住了,就需要消息队列来慢慢消费了,消费一个下单一个,下单完成后用户就可以支付了.