专业的编程技术博客社区

网站首页 > 博客文章 正文

秒杀和抢单系统的设计思路(秒杀抢单软件)

baijin 2024-10-01 07:28:15 博客文章 7 ℃ 0 评论

抢单设计

系统启动,将当天的Express加入到Redis,设置过期时间一天

订单更新,将之前的key过期,插入一条新的

有人抢单,添加分布式锁,将该key过期

mq更新mysql,创建订单

秒杀设计

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

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

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

出现的问题:

  • 如何保证发送成功
  • 消费者失败了怎么办

分布式事物

CAP原则,不可能同时满足

一致性Consistentcy

可用性 Availablility

分区容错性 Partition tolerance

BASE理论

基本可用 Basically Available

软状态Soft State

最终一致性 Eventually consistent

解决方案

两段式提交2PC

TCC 补偿事物

本地消息表

RocketMQ

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表