青训Day10:系统设计|青训营笔记

79 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天。

01. 系统设计方法论

为什么要做系统设计

个人:面试、提升个人能力、拓展技术视野
工作:业务驱动、系统重构、突破和创新

系统设计的定义

系统:关联的个体、规则运作、组成工作的整体
设计:设想和计划、目的、过程安排

定义:为了达成某种目的,通过个体组成整体的过程

如何做系统设计

  1. 场景分析(Scenario)
  2. 存储设计(Storage)
  3. 服务设计(Service)
  4. 可扩展性(Scale)

如何发现系统的瓶颈

·火焰图分析
·链路追踪
·性能测试

如何保证可用性和稳定性

链路梳理 可观测性 全链路测试 稳定性控制 容灾演练

02. 电商秒杀业务介绍

电商介绍

人 货 场
SPU:Standard Product Unit
SKU:Stock Keeping Unit

秒杀业务的特点

瞬时流量高
读多写少
实时性要求高

如何设计秒杀系统

场景(Scenario)

场景 存储 服务 扩展
功能:秒杀活动发布、秒杀商品详情、秒杀下单
并发:万人参与秒杀、QPS 1w+、TPS 1k+

子服务:用户服务、风控服务、活动服务、订单服务
基础组件:ID生成器、缓存组件、MQ组件、限流组件

image.png

03. 课程实践