
JAVA秒杀系统设计
文章平均质量分 90
了解秒杀系统的思想,以及通过三种不同的方式来实现秒杀系统。
祁_z
这个作者很懒,什么都没留下…
展开
-
秒杀java代码(防止库存超卖、redis+mq减缓数据库瞬时压力) - v3最终版本
目录流程接口说明1. 业务逻辑层 / Controller2. mapper3. mq配置3.1. rabbitmq配置类3.2. 生产者3.3. 消费者4. 表结构5. 测试5.1. 给商品库存id为2的添加100条库存5.2. 添加库存数量到redis5.3. jmeter多线程模拟抢购5.4. jmeter执行结束后查看库存的变化5...原创 2020-06-20 22:32:33 · 1475 阅读 · 1 评论 -
秒杀java代码 - 简单版本v2
v1版本的缺点是: 如某商品有100库存,但是有10000人抢购的话就会有1w个请求去数据库进行查询库存(效率低且数据库可以宕机)。解决: 1.在后台提前生成好商品对应的库存数量保存到redis中,采用list命令 2. 用户点击抢购接口后,先去redis中查询是否能获取到数据,获取到数据就代表抢到了商品继续走流程代码,反之代表商品已售完。流程:1. 在...原创 2019-08-29 16:58:36 · 734 阅读 · 1 评论 -
秒杀java代码(乐观锁、行锁防止库存超卖) - 简单版本v1
目录mapper需要的两张表乐观锁讲解修改代码为乐观锁减库存乐观锁、行锁总结流程:1.库存>0就减库存,并记录减了库存的用户到抢购成功记录表中,2.前台定时实时ajax调用接口查询是否抢购成功。采用乐观锁防止库存<0乐观锁就是认为不会产生数据访问冲突。比如update修改商品status为2update 表set status=2, vers...原创 2019-08-29 15:54:00 · 7177 阅读 · 4 评论 -
如何选择服务器配置(宽带、内存、CPU、硬盘)
宽带、内存、CPU、硬盘,先从宽带说起,宽带不足后边都白扯。服务器宽带服务宽带:1兆=128kb/s例如:页面加载(静态数据+动态数据)需要128kb,那么QPS最大只能是1; 宽带不足的情况下:网页加载转圈圈。解决:-所有静态数据js、图片、视频等放到第三方管理(七牛云、阿里云),将宽带压力交给第三方同时提供了CDN; - 动态数据就是接口占用宽带就非常少了。 cdn会将数据缓存到全国各地节点中,帮助减少传输过程中...原创 2021-03-20 23:11:22 · 7050 阅读 · 0 评论