系统设计基础

作者: Cathy 分类: 编程开发 发布时间: 2023-06-18 13:57

系统设计的步骤

  1. 问清楚系统具体要求:系统设计的需求:功能性需求和非功能性需求
  2. 对系统进行抽象设计:画系统的抽象架构图,包含系统的一些组件和组件之间的连接
  3. 考虑系统目前优化的点:
    • 当前系统部署在一台机器足够吗?是否需要部署在多台机器,然后进行负载均衡
    • 数据库处理速度能否支撑业务需求?是否需要给指定字段加索引?是否需要读写分离?是否需要缓存?
    • 数据量有多大?是否需要分库分表
    • 系统是否需要分布式文件系统
  4. 优化 3 中的系统抽象设计

性能方面的指标

  • 响应时间 RT:用户发出请求直接反应系统处理用户请求速度的快慢
  • 并发数:系统能够同时供多少人访问使用,即系统同时能处理的请求数量,并发数反映了系统的负载能力
  • QPS:服务器每秒可以执行的查询次数
  • TPS:服务器每秒处理的事务数,这个事务可以理解为客户发出请求到收到服务器响应的过程
  • 吞吐量:系统单位时间内系统处理的请求数量

系统活跃度

  • PV(Page View):访问量,即页面浏览量;在一定统计周期内用户每打开或刷新一个页面就记录一次,
  • UV(Unique Visitor):独立访客,统计一天内访问某站点的用户数
  • DAU(Daily Active User):日活跃用户数量
  • MAU(Mouth Active User):月活跃用户数量

性能优化顺序

  1. SQL 优化、JVM、DB 调优
  2. 硬件性能优化
  3. 业务逻辑优化 / 缓存
  4. 读写分离、集群
  5. 分库分表

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注