这是我参与「第五届青训营」笔记创作活动的第 10 天。笔记旨在记录自己的学习过程以及跟更多人分享交流,重点讲干货,不扣细节,从整体认知。废话不多说,上内容!!!
本堂课重点内容
- 系统设计方法论
- 电商秒杀业务介绍
- 课程实践
- 课程总结
详细知识点介绍
系统设计方法论
- 系统设计定义
为了达成某种目的,通过个体组成整体的过程
-
如何做系统设计
- 4S分析法
- 01 场景分析(Scenario) 什么系统,需要哪些功能,多大的并发量
- 02 存储设计(Storage) 数据如何组织,Sql存储,NoSql存储
- 03 服务设计(Service) 业务功能实现和逻辑整合
- 04 可扩展性(Scale) 解决设计缺陷,提高鲁棒性、扩展性
-
如何分析系统瓶颈和优化
- 火焰图分析
- 链路分析
- 全链路压测
-
如何验证系统的可用性和稳定性
- 链路梳理
- 可观测性
- 全链路测试
- 稳定性控制
- 容灾演练
电商秒杀业务介绍
基本概念
-
商品 : 具有交易价值和属性的信息载体
-
SPU : Standard Product Unit
-
SKU : Stock Keeping Unit
-
秒杀业务的特点 : 瞬时流量高、读多写少、实时性要求高
秒杀的挑战
- 资源有限性
- 反欺诈
- 高性能
- 防止超卖
- 流量管控
- 扩展性
- 鲁棒性
设计秒杀系统
实践练习例子
要代码私聊
课后个人总结
- 电商的可变性与孩子的心情一样,变化极快,所以在设计之处就要想好大部分的功能接入及开发,尽量减少重构次数。对老板来说节约成本,对程序员来说“珍惜生命”
- 商品中心其实在许多公司中都已经是比较成熟的模块,各个公司的商品中心可能基于公司业务不同会有细微的区别,但是其核心是相通的。