网站首页 > 博客文章 正文
秒杀场景:
- 每个用户只能下单一次;
- 每秒最多允许N个用户下单成功;
- 不允许超卖;
- 服务器不允许出现单点;
- 用户下单成功,规定的时候内没有付款,需要修改商品状态与库存;
- 秒杀成功与失败页面有提示信息;
几个关于秒杀系统中Redis的常见问题:
1.什么时候把库存写入到Redis?
秒杀活动创建/维护时写入Redis。
2.如何保证活动数据库和库存数据一致?
可以使用消息队列,使用消费队列的ACK机制,确保消息投递成功;
3.下单减库存还是支付减库存?
下单的时候减去库存,然后将下单的消息写入延时队列; 使用消费方法监听延时队列的消息,消费者判断当前订单状态是否已经被支付,如果支付成功则不进行业务的处理;如果当前订单没有被支付,需要修改将库存+1,并修改对应的商品状态即可。
4.如何防止商品被超卖?
把库存数据放入到缓存中,利用缓存的原子特性保证同时只有一个线程操作库存。
5.库存写回数据库的时机?
使用消费队列的方式进行数据同步,如果消息被消费了,数据库的库存即更新了。
- 上一篇: 一个媲美淘宝大秒杀系统的高性能架构设计思路
- 下一篇: 「读书笔记」如何设计一个秒杀系统
猜你喜欢
- 2024-10-01 「秒杀系统」从零开始打造简易秒杀系统(一):防止超卖
- 2024-10-01 「系统架构」如何设计秒杀服务的限流策略
- 2024-10-01 电商网站中,50W-100W高并发,秒杀功能是怎么实现的?
- 2024-10-01 企业级高并发下,商城秒杀系统设计之库存超发的解决方案
- 2024-10-01 Java商城秒杀系统的设计与实战教程(SpringBoot版)
- 2024-10-01 秒杀和抢单系统的设计思路(秒杀抢单软件)
- 2024-10-01 双十一电商秒杀系统架构设计解决方案
- 2024-10-01 一个极简高效的秒杀系统(战术实践篇)
- 2024-10-01 文心快码帮你解大厂面试题:设计一个秒杀系统,并明确指出关键点
- 2024-10-01 阿里P8架构师谈:实战讲解高并发和秒杀抢购系统设计
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)