2.1K Star 13.9K Fork 5.8K

GVP小柒2012 / spring-boot-seckill

 / 详情

使用了redis的分布式锁,每个线程拿redis的锁都等待3毫秒,大概1秒钟200-300个订单, 每秒下单成功率很低

待办的
创建于  
2019-12-24 09:02
  • 使用了redis的分布式锁,每个线程拿redis的锁都等待3毫秒,大概1秒钟200-300个订单, 下单率很低
  1. 如果有十万个商品,大概需要3-5分钟才可以抢完所有商品,假设有一百万个商品,大概需要30-50分钟才能抢完,但是用户等这么长时间,用户体验不好,直接不用你这个网站了
  2. 假设有十万个商品, 每秒1万个用户同时抢购, 每个用户只能抢一个, 1秒钟200-300个订单, 每秒下单成功率低于 3% , 这是无法忍受的

评论 (3)

hegphegp 创建了任务
hegphegp 修改了标题
hegphegp 修改了描述
hegphegp 修改了描述
hegphegp 修改了标题
展开全部操作日志

首先抢购十万的商品,肯定是不能直接简单的使用分布式锁了,至少得把十万个商品根据需求分成多个入口通道,比如前置负载均衡,均摊到多个入口,然后再走队列,走缓存,最后落库。

能不能写个具体的例子,10w商品抢购很正常,应该都是同一个入口,多个入口,后面的业务逻辑肯定是要汇总到一个方法里面

假如把10万个商品 分成10份 每一份都当成独立的 这样并发就提高了10倍 以此类推 可以分成N份 那么并发就提高N倍

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(4)
87650 52itstyle 1612257122 4881113 lowbman 1578976321
Java
1
https://gitee.com/52itstyle/spring-boot-seckill.git
git@gitee.com:52itstyle/spring-boot-seckill.git
52itstyle
spring-boot-seckill
spring-boot-seckill

搜索帮助