这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天
1.系统设计方法论
(1)为什么要做系统设计
工作需要
(2)如何评估一个系统
可用性 扩展性 安全性 易用性 可维护性 性能 耦合性 伸缩性
(3)系统设计的定义
为了达成某种目的,通过个体组成整体的过程
(4)如何做系统设计
(5)如何发现系统的瓶颈
火焰图分析 链路追踪 性能测试
(6)如何保证可用性和稳定性
链路梳理:核心链路,流量漏斗,强弱依赖
可观测性:链路追踪,核心监控,业务报警
全链路测试:压力测试,负崎载测试,容量测试
稳定性控制:系统限流,业务兜底,熔断降级
容灾演练:混沌工程,应急手册,容灾预案
2.电商秒杀业务介绍
(1)电商介绍
(2)秒杀业务的特点
瞬时流量高 读多写少 实时性要求高
(3)秒杀的挑战
高性能 资源成本 扩展性 防止超卖 反欺诈 鲁棒性 流量管控
(4)系统架构图
3.课程实践
(1)秒杀流程图
4.课程总结
服务无状态
批量写入
最终一致性