系统设计 流程概述

本文概述了系统设计的步骤,包括澄清需求、接口定义、规模预估和数据模型设计。介绍了计算指标如文件大小、时间及QPS,并探讨了设计知名服务如Instagram、Dropbox的挑战。同时,提到了Design Gurus的6Step解题法和九章总结的4S分析法,为系统设计提供了指导。
摘要由CSDN通过智能技术生成

系统设计 步骤

  1. 澄清需求
    确定系统边界范围,要提供哪些功能,不提供哪些

  2. 接口定义
    系统提供的api
    getXXX()
    setXXX()
    delXXX()

  3. 粗略估计规模
    系统规模,用来计算 伸缩、分区、负载均衡、缓存

    • 流量=每s读写数量 = 活跃用户 * 读写比例
    • 带宽=每s流量 = 流量 * 请求对象大小
    • 存储 = 系统使用年限 * 对象大小
    • 缓存 = 存储 * 28原则
  4. 定义数据模型
    存储表设计, 用那种数据库 sql or nosql?
    User: UserID, Name, Email, DoB, CreationData, LastLogin, etc.

  5. 高级设计
    概要设计,画框图
    表示端到端的读写流量、数据存储等

  6. 详细设计
    深挖2-3个组件
    提出多套方案,权衡 每套方案的优缺点

    • 大量数据存储:单库问题,如何分区
    • 在哪一层引入缓存加快速度
    • 哪些组件需要负载均衡
    • 如何处理热点数据
  7. 识别、解决瓶颈
    找出系统瓶颈、并解决、缓解

    • 单点故障
    • 数据丢失、副本
    • 性能监控

计算指标

File sizes

1b &#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xyc1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值