在上设计高度可用的分布式系统 AWS - 可用性及其他:了解和提高分布式系统的弹性 AWS

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

在上设计高度可用的分布式系统 AWS

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

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

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

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