网站首页 > 博客文章 正文
在探讨一个系统的架构设计时,首先需要研究业务架构,提炼业务特征;其次抽取对应的技术特征&技术约束,即技术语言;最后,再设计出对应的技术架构。
如下以秒杀系统为例,看如何高并发设计。
1.业务架构
(1)限时,限量,限价
(2)活动预热
(3)持续时间短
2.技术特征
(1)瞬时并发量非常高
(2)读多写少
(3)流程简单
3.技术架构
(1)限流防刷
1.1限流对应单个用户;
1.2限流对应单个商品;
1.3活动开始前隐藏秒杀地址;
1.4人机检测,如图片验证码;
(2)资源控制
2.1不同店铺不同二级域名,负载均衡;
2.2同一个商品分段扣减库存(redis分段或db分段);
2.3不同类型请求资源池隔离,大商户额外资源池。
2.4不同商品打散在不同的redis集群
2.5预热
(3)异步解耦
3.1若并发量太高,放入队列中,展示用户在排队;
3.2若并发量太高,耗时太长的操作异步处理,先返回一个标记给用户,用户来查询结果;
3.3若并发量太高,可以多阶段处理,标记可以是一个发号器,拿到发号器再去做下一步动作。
孜孜不倦,每日一学
猜你喜欢
- 2025-03-18 从构建分布式秒杀系统聊聊Disruptor高性能队列
- 2025-03-18 高并发解决方案之秒杀(高并发秒杀系统的设计)
- 2025-03-18 高并发秒杀系统(高并发秒杀设计)
- 2025-03-18 秒杀场景下订单中心的架构设计(订单中心架构图)
- 2025-03-18 零基础上手秒杀系统:抢购接口隐藏 + 单用户限制频率
- 2025-03-18 不服不行!Github即将爆火的「高并发秒杀顶级教程」,先睹为快
- 2025-03-18 让你的系统的QPS突然提升10倍你会怎么设计?Java代码实战
- 2025-03-18 秒杀系统实战(四)| 缓存与数据库双写一致性实战
- 2025-03-18 全流程开发 GO实战电商网站高并发秒杀系统
- 2025-03-18 面试必备之redis实现秒杀的几种方式
你 发表评论:
欢迎- 374℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 369℃用AI Agent治理微服务的复杂性问题|QCon
- 360℃初次使用IntelliJ IDEA新建Maven项目
- 353℃Maven技术方案最全手册(mavena)
- 351℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 349℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 348℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 344℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- 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)
本文暂时没有评论,来添加一个吧(●'◡'●)