秒杀

主宰稳场 提交于 2020-03-27 17:08:58

3 月,跳不动了?>>>

设计思路:

1.商品入库 

2.把商品的ID存进redis中

3.当秒杀开始,用户的请求到达的时候,先判断这个商品是否已经被秒杀,如果被秒杀返回,秒杀失败。如果存在,判断,库存大于本次购买量:扣减redis中的库存、并且将订单信息推送到MQ;库存小于本次购买量:直接返回、数量不足。进入rabbitmq队列。并在redis中把商品的ID(预处理)移除。

4.队列去处理订单,更新数据库库存(乐观锁),生成订单信息。异步通知用户购买结果。

5.客户预秒杀的商品如果没有付款成功,则重新把数据库中的商品信息存在redis中。

6,如果使用分布式,则要把用户的信息进行session共享(放入redis中)。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!