秒杀流程
2021-04-17 15:59:33 1 举报
秒杀系统设计
作者其他创作
大纲/内容
Redis
防止RabbitMQ宕机丢失消息
Y
监听到消息
已购买?
黑名单?
发消息到MQ
N
校验场次秒杀商品密码
已抢完
网关
1. 黑名单校验2. 秒杀接口限流
执行业务
returnMessage 回调
setIfAbsent
Redis setIfAbsent
校验秒杀开始
设置队列/消息持久化
登录校验
RequestRateLimiter
校验商品密码
nginx
密码正确?
前端
校验已购买
1. 未开始按钮置灰2. 开始限制按钮点击频率
校验用户登录状态
开启 confirm
防止生产者消息发失败
1. nginx限制同一IP一秒内访问次数2. 页面静态化
信号量获取成功
retry重试ack签收保存失败消息到DB
尝试获取信号量
订单服务
错误次数+1
MySQL
已开始?
防止 Exchange 路由到 Queue 失败
加入黑名单
秒杀服务
已登录?
错误次数 >5?
1.防止消费异常2.防止重复消费
0 条评论
下一页