1.商品入库
2.把商品的ID存进redis中
3.当秒杀开始的时候,用户的请求到达的时候,先判断这个商品是否已经被秒杀,如果被秒杀返回,秒杀失败,如果存在进入rabbitmq队列。并在redis中把商品的ID(预处理)移除。
4.队列去处理订单,把订单保存进入订单列表,并把原始的商品信息改为已经秒杀。(用到事物)。
5.客户预秒杀的商品如果没有付款成功,则重新把数据库中的商品信息存在redis中。
6,如果使用分布式,则要把用户的信息进行session共享(放入redis中)。 SpringCloud session共享实现 前面我发的博客有源码。
该博客介绍了商城秒杀系统的处理流程。先将商品入库,ID存进Redis。秒杀开始,请求先判断商品是否已被秒杀,未被秒杀则进入RabbitMQ队列,同时从Redis移除商品ID。队列处理订单,保存订单并更新商品状态。未付款成功则重新存入Redis,分布式场景需进行用户信息session共享。

3万+





