如何做好系统设计

111 阅读1分钟

系统设计定义

为什么要做系统设计

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

系统设计的定义

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

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

系统设计基本流程

  • 场景分析( Scenario)
    • 什么系统,需要哪些功能,多大的并发量
  • 存储设计 ( Storage)
    • 数据如何组织,Sql存储,NoSql存储
  • 服务设计( Service)
    • 业务功能实现和逻辑整合
  • 可扩展性 ( Scale)
    • 解决设计缺陷,提高售棒性、扩展性

电商秒杀业务介绍

秒杀业务特点

  1. 瞬时流量高
  2. 读多写少
  3. 实时性要求高

如何设计秒杀业务

  • 场景
    • 功能:
      • 秒杀活动发布
      • 秒杀商品详情
      • 秒杀下单
    • 并发:
      • 万人参与秒杀
      • QPS 1w+
      • TPS 1k+
  • 存储
    • Mysql
    • Redis
    • LocalCache
    • 表的设计
  • 服务
    • 子服务:
      • 用户服务
      • 风控服务
      • 活动服务
      • 订单服务
    • 基础组件:
      • ID生成器
      • 缓存组件
      • MO组件
      • 限流组件
  • 扩展