

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在上设计高度可用的分布式系统 AWS
<a name="designing-highly-available-distributed-systems-on-aws"></a>

 前面的章节主要介绍了工作负载的理论可用性及其作用。它们是构建分布式系统时要记住的一组重要概念，可以为依赖项的选择和冗余的实现提供决策依据。

 我们还研究了MTTDMTTR、和与可用MTBF性的关系。这一部分将会基于之前的理论提供一些实用的指导。简而言之，高可用性的工程工作负载旨在增加MTBF和减少MTTR以及MTTD。

 最理想的结果是消除所有故障，但这并不现实。依赖项严重堆叠的大型分布式系统一定会发生故障。“一切都会失败”（参见 Werner VogelsCTO，Amazon.com，《[亚马逊网络服务 10 年的十个教训](https://www.allthingsdistributed.com/2016/03/10-lessons-from-10-years-of-aws.html)》。）和 “你无法立法防止失败 [所以] 专注于快速检测和响应。” （参见 Chris Pinkham，Amazon EC2 团队创始成员，《[为失败而ARC335设计：在上面架构弹性系统](https://d1.awsstatic.com/events/reinvent/2019/REPEAT_1_Designing_for_failure_Architecting_resilient_systems_on_AWS_ARC335-R1.pdf)》） AWS

 这意味着我们往往无法控制故障是否发生。我们可以控制的，是自己检测故障并采取措施的速度。因此，尽管提高可用性仍然MTBF是高可用性的重要组成部分，但客户可以控制的最重大变化是减少MTTD和MTTR。

**Topics**
+ [减少 MTTD](reducing-mttd.md)
+ [减少 MTTR](reducing-mttr.md)
+ [越来越多 MTBF](increasing-mtbf.md)