NOTE

1.4 如何设计高并发系统

1. 什么是可伸缩 - 描述系统应对负载增长的能力 - 负载指的是并发数性能测试.md 2. 如何设计可伸缩系统 - 纵向扩容 - 横向扩容 3. 什么是高并发 - 读或写或者读写QPS高的系统 4. 如何设计高并发 4.1. 服务层可伸缩 - 做到加机器线性增长性能:每个服务是无状态的。就是没有那

系统设计创建于 更新于 historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 什么是可伸缩

  • 描述系统应对负载增长的能力
    • 负载指的是并发数性能测试.md(关联笔记尚未公开)

2. 如何设计可伸缩系统

  • 纵向扩容
  • 横向扩容

3. 什么是高并发

  • 读或写或者读写QPS高的系统

4. 如何设计高并发

4.1. 服务层可伸缩

  • 做到加机器线性增长性能:每个服务是无状态的。就是没有那种某个业务必须在某个节点上操作的逻辑
  • 即堆机器+负载均衡 服务扩容.md

4.2. 存储可伸缩

  • 底层组件开启复制+分片功能。

4.3. 读高并发

本质上通过复制的思想解决

4.3.1. 缓存

4.3.2. 重写轻读

  • 通过写扩散代替读扩散

4.3.3. 读写分离

  • 读写分离架构.md(关联笔记尚未公开)

4.4. 写高并发

4.4.1. 异步

  • 如何设计异步系统.md(关联笔记尚未公开)
  • 可以先用Kafka抗一波

4.4.2. 缓存+批处理

4.4.3. 重读轻写

  • 通过读扩散代替写扩散

5. 如何验证高并发

  • 压力测试.md(关联笔记尚未公开)

6. 参考