0

电商下单秒杀场景配套技术:MySql(商品库存和订单存储)+Redis(缓存商品库存,下单从redis减库存)+ActiveMQ(下单后同步减Mysql库存)

2025.05.23 | 5716944 | 4次围观

配套技术:MySql(商品库存和订单存储)+Redis(缓存商品库存,下单从redis减库存)+ActiveMQ(下单后同步减Mysql库存)

电商下单秒杀场景配套技术:MySql(商品库存和订单存储)+Redis(缓存商品库存,下单从redis减库存)+ActiveMQ(下单后同步减Mysql库存)

整体思路是:

1、设定秒杀库存,在商品上架/设定库存等接口,将库存存储到MySQL并在缓存Redis里也存储一份

2、模拟N个并发量和M个总访问量下单秒杀,这里下单不是真实下单,只是减掉Redis库存,然后想MQ发送下达请求

3、MQ监听器下单,这里是真实的生成订单记录,并从redis同步库存到MySql,多并发的情况在Redis做了排队减库存,并在MQ做了排队,避免了抢占库存情况。

源码展示:

redis和ActiveMQ依赖包

 

1、Redis配置

 
 

 2、接口控制层

 

3、模拟clientNum个客户端访问,建立ExecutorService线程池,threadNum个线程可以同时访问下单库存

 

4、库存服务层Service,从redis减库存并像MQ发送下达消息

 

5、ActiveMQ发消息工具类

 

6、ActiveMQ消息消费者监听器

 

7、客户端实体对象

 

8、PostMan调用接口地址测试

设定商品秒杀库存:http://192.168.10.218:56705/stocks 

启动下单消息监听:http://192.168.10.218:56705/consumer

模拟多客户多并发下单:http://192.168.10.218:56705/orders

 

 

版权声明

本文系作者授权妙妙经验网发表,未经许可,不得转载。

标签列表