系统设计| 青训营笔记

59 阅读1分钟

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

一、系统设计方法论

🤠 系统设计的那些问题

image.png

1. 为什么要做系统设计

image.png

2. 如何评估一个系统

💨 可用性
💨 易用性
💨 安全性
💨 扩展性
💨 性能
💨 耦合性
💨 伸缩性
💨 可维护性

3. 系统设计的定义

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

🤠 系统

💨 关联的整体
💨 规则运作
💨 组成工作的整体

🤠 设计

💨 设想和计划
💨 目的
💨 过程安排

4. 如何做系统设计

image.png

5. 如何发现系统的瓶颈

🤠 火焰图分析

🤠 链路追踪

🤠 性能测试

6。 如何保证可用性和稳定性

🤠 链路梳理

💨 核心链路
💨 流量漏斗
💨 强弱依赖

🤠 可观测性

💨 链路追踪
💨 核心监控
💨 业务报警  

🤠 全链路测试

💨 压力测试
💨 负载测试
💨 容量测试

🤠 稳定性控制

💨 系统限流
💨 业务兜底
💨 熔断降级

🤠 容灾演练

💨 混沌工程
💨 应急手册
💨 容灾预案

二、电商业务介绍

1. 电商介绍

image.png

🤠 商品:具有交易价值和属性的信息载体

🤠 SPU:Standard Product Unit

🤠 SKU:Stock Keeping Unit

2. 秒杀业务的特点

🤠 瞬时流量高

🤠 读多写少

🤠 实时性要求高

3. 秒杀的挑战

image.png

4. 如何设计秒杀系统

🤠 场景(Scenario) image.png

🤠 存储(Storage)

image.png

image.png

🤠 服务(service)

image.png

🤠 扩展(Scale)

image.png

5. 系统架构图

image.png

6. 系统架构图

image.png

总结

image.png