diff --git a/notes/系统设计基础.md b/notes/系统设计基础.md index 873f12f1..959ff9a0 100644 --- a/notes/系统设计基础.md +++ b/notes/系统设计基础.md @@ -20,6 +20,8 @@ 在对响应时间进行测试时,通常采用重复请求的方式,然后计算平均响应时间。平均值会掩盖少数很慢的请求,因此也常用 P99 等分位值来衡量。 +一个用户请求通常需要调用多个后端服务,只要其中一个慢,整个请求就慢,后端调用越多,受慢请求影响的用户比例越高,这称为尾部延迟放大。 + #### 2. 吞吐量 指系统在单位时间内可以处理的请求数量,通常使用每秒的请求数(QPS)来衡量。 @@ -97,7 +99,7 @@ 应用服务器的冗余比较容易实现,只要保证应用服务器不具有状态,那么某个应用服务器故障时,负载均衡器将该应用服务器原先的用户请求转发到另一个应用服务器上,不会对用户有任何影响。 -存储服务器的冗余需要使用主从复制来实现,当主服务器故障时,需要提升从服务器为主服务器,这个过程称为故障转移(Failover)。 +存储服务器的冗余需要使用主从复制来实现,当主服务器故障时,需要提升从服务器为主服务器,这个过程称为故障转移(Failover)。故障转移有两个常见问题:异步复制下新的主服务器可能没有收到旧主服务器的全部写入,这部分写入通常会丢失;旧主服务器恢复后如果仍然认为自己是主服务器,就会出现两个主(脑裂),因此需要把它降级为从服务器。 ### 监控 @@ -116,3 +118,4 @@ ## 参考资料 - 大型网站技术架构:核心原理与案例分析 +- [Designing Data-Intensive Applications 中文版](https://github.com/vonng/ddia)