这是我参与「第五届青训营」笔记创作活动的第 8 天
学习内容
- 系统设计方法论
- 电商秒杀业务介绍
- 课程实践
系统设计方法论
系统设计标准流程
- 场景分析:什么系统,需要什么功能,多大并发
- 存储设计:数据如何组织,sql存储,nosql存储
- 服务设计: 业务功能实现和逻辑整合
- 可拓展性: 解决设计缺陷,提高拓展性
如何保证可用性和稳定性
- 链路梳理
- 可观测性
- 全链路测试
- 稳定性控制
- 容灾演练
电商秒杀业务介绍
个人认为电商秒杀业务是一个很经典的项目(再各类教学里都有提到过),电商秒杀具有高并发、读多写少、实时性要求高的特点
如何设计一个秒杀系统
通过之前系统设计标准(4S)流程来分析
场景
- 功能
- 秒杀活动发布
- 秒杀商品详情
- 下单
- 并发
- 万人参与秒杀
- QPS 1w+
- TPS 1K+
储存
借用上课的一张图来展示
三级存储:mysql读取数据,通过redis进行负载均衡处理并发,以及系统内部的localcache(相比redis更快)
服务
- 子服务
- 用户服务
- 风控服务
- 活动服务
- 订单服务
- 基础组件
- Id生成器
- 缓存组件
- MQ组件
- 限流组件
扩展
- 流量隔离
- CDN
- 缓存优化
- .....
最终系统架构如下