RabbitMQ在秒杀场景中的简单应用

 秒杀业务的核心是库存处理,用户购买成功后会进行减库存操作,并记录购买明细。当秒杀开始时,大量用户同时发起请求,这是一个并行操作,多条更新库存数量的SQL语句会同时竞争秒杀商品所处数据库表里的那行数据,导致库存的减少数量与购买明细的增加数量不一致,因此,我们使用RabbitMQ进行削峰限流并且将请求数据串行处理。

 首先我先设计了两张表,一张是秒杀库存表,另一张是秒杀成功表。

 CREATE TABLE seckill

 (

seckill_id           BIGINT NOT NULL AUTO_INCREMENT COMMENT '商品库存id',
    NAME                 VARCHAR(120) NOT NULL COMMENT '商品名称',
    number               INT NOT NULL COMMENT '库存数量',
    initial_price        BIGINT NOT NULL COMMENT '原价',
    seckill_price        BIGINT NOT NULL COMMENT '秒杀价',
    sell_point           VARCHAR(500) NOT NULL COMMENT '卖点',
    create_time          TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '秒杀创建时间',
   

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值