

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

# 缓解故障
<a name="faulttolerance"></a>

规划 MemoryDB 实施时，您应做好计划以最大程度地减少故障对应用程序和数据产生的影响。本部分中的主题涵盖了可用来防止应用程序和数据出现故障的方法。

## 缓解故障：MemoryDB 集群
<a name="faulttolerance.cluster.replication"></a>

MemoryDB 集群包含一个应用程序可从中读取和写入的主节点和 0 至 5 个只读副本节点。但是，为获得高可用性，我们强烈建议至少使用 1 个副本。在向主节点写入数据时，会在事务日志中保存并在副本节点上异步更新此数据。

**在只读副本发生故障的情况下**

1. MemoryDB 将检测发生失效副本。

1. MemoryDB 使发生故障的节点脱机。

1. MemoryDB 在同一可用区中启动和预配置替换节点。

1. 新节点与事务日志同步。

在此期间，应用程序可使用其他节点继续读取和写入。

**MemoryDB 多可用区**  
如果在 MemoryDB 集群上激活多可用区，则系统将自动检测并替换失效的主节点。

****

1. MemoryDB 检测到主节点故障。

1. MemoryDB 失效转移到与失效主节点一致的副本。

1. MemoryDB 在发生故障的主集群的可用区中启动副本。

1. 新节点与事务日志同步。

故障转移到副本节点的速度通常比创建并预置新主节点的速度要快。这意味着，您的应用程序可更快地恢复对主节点的写入。

有关更多信息，请参阅 [利用多可用区最大限度地减少 MemoryDB 停机时间](autofailover.md)。