秒杀系统架构和流程设计
2020-06-01 17:10:50 0 举报
秒杀系统架构和流程图设计
作者其他创作
大纲/内容
openresty缓存层
redis cluster
购物车
查询验证码缓存,秒杀队列长度,库存数量,秒杀价格,秒杀活动时间等信息
通过lua脚本查询是否有本地cache,有cache直接访问静态html文件
API服务层
需要注意的是在业务代码中的限流是多个维度的:1.根据用户的ip限制访问输了 2.根据用户是否在黑名单内进行限流3.根据用户的访问记录限流 4.根据限定时间内的访问频率限流
MQ中间件或者redis(redis发布token时设置过期时间,到期删除)
openresty分发层
验证码
提交页面短轮询消费MQ根据userId+productId获取有效token
返回结果:是:前端提示否:继续请求
结算
黑名单
风控系统
根据productId查询库存
队列长度限流
订单
生成token
库存数量
验证服务
库存足够返回true;库存不够返回fasle,直接前端提示库存不足
是否黑名单
user
静态页面缓存层
收藏
0 条评论
回复 删除
下一页