手把手教你做系统设计| 青训营笔记

138 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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扩展、服务水平扩展、服务垂直扩展

微信截图_20230205133916.png

引用连接

  • 代码地址: 链接:pan.baidu.com/s/1Yc7TvP6C… 提取码:o4kk
  • 【实践课】手把手教你做系统设计 - 第五届字节跳动青训营