实践课(一) | 青训营笔记

105 阅读1分钟

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

学习内容

  1. 系统设计方法论
  2. 电商秒杀业务介绍
  3. 课程实践

系统设计方法论

系统设计标准流程

  1. 场景分析:什么系统,需要什么功能,多大并发
  2. 存储设计:数据如何组织,sql存储,nosql存储
  3. 服务设计: 业务功能实现和逻辑整合
  4. 可拓展性: 解决设计缺陷,提高拓展性

如何保证可用性和稳定性

  1. 链路梳理
  2. 可观测性
  3. 全链路测试
  4. 稳定性控制
  5. 容灾演练

电商秒杀业务介绍

个人认为电商秒杀业务是一个很经典的项目(再各类教学里都有提到过),电商秒杀具有高并发、读多写少、实时性要求高的特点

如何设计一个秒杀系统

通过之前系统设计标准(4S)流程来分析

场景

  • 功能
    • 秒杀活动发布
    • 秒杀商品详情
    • 下单
  • 并发
    • 万人参与秒杀
    • QPS 1w+
    • TPS 1K+

储存

借用上课的一张图来展示

image.png

三级存储:mysql读取数据,通过redis进行负载均衡处理并发,以及系统内部的localcache(相比redis更快)

服务

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

扩展

  • 流量隔离
  • CDN
  • 缓存优化
  • .....

最终系统架构如下

image.png