这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天
知识点
1.系统设计方法论
2.实践业务介绍和课程时间
细则
1.系统设计
定义:为了达成某种目的,通过个体组成整体的过程。
-
系统:
- 关联的个体
- 规则运作
- 组成工作的整体
-
设计:
-
设想和计划
-
目的
-
过程安排
2.4s分析法
场景、存储、服务、扩展
- 01.场景分析(Scenarion) :什么系统,需要哪些功能,多大的数据量
- 02.存储设计(Storage) :数据如何组织、Sql存储、NoSql存储
- 03.服务设计(Service) :业务功能实现和逻辑整合
- 04.可扩展性(Scale) :解决设计缺陷,提高鲁棒性、扩展性
3.系统性能瓶颈分析
-
火焰图分析:是性能分析的利器,通过它可以快速定位性能瓶颈点。
-
链路追踪:用于评估节点之间关系(连接)的数据分析技术
-
全链路压测:被称为系统整体容量保障的核武器。 全链路压测可以实现生产环境的压测服务,模拟真实的生产峰值场景,以发现真实的线上瓶颈并实现监控分析。 全链路压测可以实现精准的容量规划,确保线上系统的正常运行。
4.系统稳定性分析
-
链路梳理
-
可观测性
-
全链路测
-
稳定性控制
-
容灾演练
5.实践项目分析
-
场景(Scenario):
-
功能:
- 秒杀活动发布
- 秒杀商品详情
- 秒杀下单
-
并发
- 万人参与秒杀(客户量大)
- QRS 1w+(请求数多)
- TPS 1K+(服务器事务也多)
-
-
存储
- MySQL —>Redis —>Localcache
- es数据库
-
服务
-
子服务:
- 用户服务
- 风控服务
- 活动服务
- 订单服务
-
基础组件
- ID生成器
- 缓存组件
- MQ组件
- 限流组件
-
-
扩展
-
流量隔离、CDN、缓存优化、流量管控
-
数据库扩展、MQ扩展、Redis扩展、服务水平扩展、服务垂直扩展
-
引用连接
- 代码地址: 链接:pan.baidu.com/s/1Yc7TvP6C… 提取码:o4kk
- 【实践课】手把手教你做系统设计 - 第五届字节跳动青训营