

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 減少故障
<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 會在失敗的主要 AZ 中啟動複本。

1. 新的節點會與交易日誌同步。

容錯移轉至複本節點的速度一般會較建立和佈建新主要節點來得快。這表示您的應用程式可以更快地繼續寫入您的主節點。

如需詳細資訊，請參閱[使用異地同步備份將 MemoryDB 中的停機時間降至最低](autofailover.md)。