面试官让我设计一个秒杀系统
2024-10-07
NEW个对象
秒杀系统需要解决哪些问题,这里列几个关键性的问题:
1、高并发的瞬时流量
2、库存扣减
3、重复下单
4、热点数据
1、如何解决高并发的瞬时流量:
限流、多级缓存架构
2、库存扣减
cas数据库扣除,redis lua脚本扣除
3、重复下单
每个页面一个token,请求的时候携带token
4、热点数据
存在redis里
5、如何解决用户下一单或用户N单的问题
在写redis lua脚本扣除商品缓存时候,进行重复下单或N单的检测。
下一单:在下单的时候,将用户id,添加到set结构里,然后判断id是否在set里,判断用户是否下过单。
下N单:redis的key设置为seckill:userid:xxx,值为下单的数量,在下单的进行判。incrby进行加法操作。
上一篇:无
下一篇: 无
相关文章
-
面试官让我设计一个秒杀系统
秒杀系统需要解决哪些问题,这里列几个关键性的问题: 1、高并发的瞬时流量 2、库存扣减 3、重复下单 4、热点数据
NEW个对象 2024-10-07