AWS 架构韧性与全球基础设施解析
1. 混沌工程与系统韧性
在构建系统时,确保其具备尽可能高的韧性至关重要。混沌工程便是一种致力于构建韧性系统的方法,它通过有意地尝试破坏系统来暴露其弱点。
1.1 RTO 与 RPO
- RTO(恢复时间目标) :指资源出现问题后到再次可访问所允许的目标时间。例如,若服务级别协议(SLA)规定会计数据库不可用时间不得超过 60 分钟,而实际数据库在故障后 40 分钟就恢复运行,那么此次故障就满足了 RTO。
- RPO(恢复点目标) :指恢复的数据可以有多旧,即数据损坏事件与最后一次备份之间的时间。如数据库每 5 分钟自动备份一次,某组件故障导致数据库宕机,经确定有 3 分钟的更新未写入备份,而 SLA 指定的 RPO 为 10 分钟,那么这 3 分钟的丢失数据就在 SLA 规定的可接受范围内。
不过,RTO 和 RPO 只是预期目标,需要与实际恢复点(RPA)和实际恢复时间(RTA)进行比较。若实际恢复时间(RTA)长于目标恢复时间(RTO),则意味着未达到 SLA,需要改进。
1.2 系统潜在弱点
系统可能存在多种弱点,常见的如下:
- 服务失败时,备用机制不足或缺失。
- 由于中断和超时时间间隔配置不当,引发重试风暴。
- 下游依赖导致的故障。
- 上游系统单点故障崩溃引发连锁故障。
其中,重试风暴是指当超时时间间隔和故障处理配置不当时,客户端在服务故障时反复重试请求,导致向有问题的服务发送大量重复请求,进一步
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



