秒杀和抢单系统的设计思路
抢单设计
- 系统启动,将当天的Express加入到Redis,设置过期时间一天
- 订单更新,将之前的key过期,插入一条新的
- 有人抢单,添加分布式锁,将该key过期
- mq更新mysql,创建订单
秒杀设计
系统启动,将商品信息加入redis
加Redis分布式锁,对Redis数量进行更新,如果小于0返回失败,如果大于0进行下一步
将消息发送到mq,更新mysql,创建订单
出现的问题:
如何保证发送成功
消费者失败了怎么办
分布式事物
- CAP原则,不可能同时满足
- 一致性Consistentcy
- 可用性 Availablility
- 分区容错性 Partition tolerance
- BASE理论
- 基本可用 Basically Available
- 软状态Soft State
- 最终一致性 Eventually consistent
- 解决方案
- 两段式提交2PC
- TCC 补偿事物
- 本地消息表
- RocketMQ
秒杀和抢单系统的设计思路相关推荐
- 考试/答题系统的设计思路
基于SpringBoot实现的考试/答题系统,由于这是从一个大项目中截取的部分功能,具体的业务代码非常复杂就不列出了,这里主要介绍系统的设计思路,可作为课设或毕设的参考 数据库设计 实体类设计 tes ...
- 爬虫与反爬虫系统的设计思路与策略
爬虫与反爬虫系统的设计思路与策略 常用的爬虫工具 01 封IP 02 封User-Agent 03 封Cookie 04 javascript渲染 05 验证码验证 06 ajax异步传输 07 图片 ...
- 秒杀系统架构设计思路
1 .秒杀业务分析 正常电子商务流程 (1)查询商品:(2)创建订单:(3)扣减库存:(4)更新订单:(5)付款:(6)卖家发货 秒杀业务的特性 (1)低廉价格:(2)大幅推广:(3)瞬时售空:(4) ...
- 7系统内部系统组件禁止休眠_海康监控系统平台设计思路(二)
设计思路 系统设计过程中充分考虑了各个子系统的信息共享要求,对各子系统进行结构化和标准化设计,通过系统间的各种联动方式将其整合成一个有机的整体,使之成为一套整体的.全方位的综合安防系统,达到人防.物防 ...
- 一个智能客服系统的设计思路
一.目标 随着移动互联网发展,许多线下服务都搬到了网络平台上,人们也越来越习惯于通过互联网来获得服务,这大大节省了时间,提高了办事效率.但线上服务面向的用户群体大,同类问题多,这就要求互联网平台提高服 ...
- 仿真3. 仿真系统的设计思路
最近跟深城交的一位大佬(也是我刚入职我司时的导师)交流,天马行空的探讨了一些城市交通仿真系统的设计问题,使我对离散事件仿真系统的了解更深刻,且偶有奇思妙想,特此记录. 1. 城市交通仿真一般分为微观. ...
- 一个折扣券发放系统的设计思路
一个软件系统的开发绝对不是单纯的编码,甚至可以说编码是最不重要的环节(但它是必不可少的环节),就像在建房子的时候,码砖虽然必不可少,但绝对不是最重要的,这也是戏称程序员为码农的原因吧. 那么什么是重要 ...
- 秒杀抢单系统软件架构优化思路
文章目录 一.秒杀业务为什么难做 二.优化方向 三.常见秒杀架构 四.各层次优化细节 第一层,客户端怎么优化(浏览器层,APP层) 第二层,站点层面的请求拦截 第三层,服务层来拦截(反正就是不要让请求 ...
- 高并发场景下秒杀系统的设计思路
点击上方「蓝字」关注我们 1. 概述 秒杀系统之所以难做,是因为在极短的时间内涌入大量的请求,来同时访问有限的服务资源,从而造成系统负载压力大,甚至导致系统服务瘫痪以及宕机的可能.本文会介绍秒杀系统中 ...
最新文章
- PL0编译器TurboPascal版再现时间:2009-07-20 17:24:49来源:网络 作者:未知 点击:52次
- maven重新指定仓库存储路径
- 搜索训练1 [8数码问题]
- 删了自己写的代码?判刑10个月!
- 20190520算法题存档
- java utf8 简繁转换 类库_在Java中进行中文繁体简体转换,基于OpenCC(Open Chinese Convert)方案...
- PythonDay7
- 【Android】EasyClient与EasyCamera的移植学习
- wifi共享精灵2014最新版 v04.25.001 官方正式版
- 我要继续坚持梦想,把我的demo变成产品!
- MongoDB Master-Slaver集群部署
- Nacos注册中心AP架构源码(Distro)下篇
- Maven deploy项目到私服报错
- CentOS 8 清除 DNS 缓存的方法
- PHP操作doc文档之PHPWord0.6.1
- 开发自己的操作系统(Hobby OS-deving)
- 谈谈IT公司员工猝死和IT公司的加班文化
- rsa2048加密算法c语言代码,rsa加密算法c语言代码
- [学习笔记]操作系统(三)先到先得调度
- 几个线段树板子(区间加/区间加与乘)