秒杀和抢单系统的设计思路

3 篇文章 0 订阅
2 篇文章 0 订阅

抢单设计

  1. 系统启动,将当天的Express加入到Redis,设置过期时间一天
  2. 订单更新,将之前的key过期,插入一条新的
  3. 有人抢单,添加分布式锁,将该key过期
  4. mq更新mysql,创建订单

秒杀设计

  1. 系统启动,将商品信息加入redis

  2. 加Redis分布式锁,对Redis数量进行更新,如果小于0返回失败,如果大于0进行下一步

  3. 将消息发送到mq,更新mysql,创建订单

  4. 出现的问题:

    1. 如何保证发送成功

    2. 消费者失败了怎么办

分布式事物

  1. CAP原则,不可能同时满足
    1. 一致性Consistentcy
    2. 可用性 Availablility
    3. 分区容错性 Partition tolerance
  2. BASE理论
    1. 基本可用 Basically Available
    2. 软状态Soft State
    3. 最终一致性 Eventually consistent
  3. 解决方案
    1. 两段式提交2PC
    2. TCC 补偿事物
    3. 本地消息表
    4. RocketMQ
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值