共用方式為


Azure DocumentDB 嘅高可用性

區域內高可用性(HA)透過維護叢集中每個分片的備用副本,避免資料庫停機。 如果分片因任何原因無法回應,Azure DocumentDB 會將失敗分片的傳入連線切換到其待機分片。 當容錯移轉發生時,升級的分區一律會透過同步複寫而具有全新的資料。

叢集中的所有主要分片都會配置到同一個 可用區(AZ), 以提升分片間的延遲。 備援分片會被配置至另一個可用區域。

即使未啟用 HA,每個分片也有自己的本地冗餘儲存(LRS),由 Azure Storage 服務維護三個同步副本。 這三個副本都位於叢集的 Azure 區域。 如果只有單一副本失敗,Azure Storage Service 會偵測並透明地重建失敗副本。 請參閱 本頁的 LRS 儲存耐用度指標。

啟用 HA 時,Azure DocumentDB 會為叢集中的每個主要分片執行一個備用分片。 每個主分片和備用分片的運算和儲存配置都是相同的。 主節點及其備用節點使用同步複製。 這種複製方式讓你在叢集的主分片和備用分片上都能保持相同的資料。 簡而言之,我們的服務偵測到主分片的故障,並以零資料遺失的方式切換到備用分片。

無論是否發生故障轉移,叢集的連線字串總是保持不變。 這讓服務能夠抽象處理應用程式請求時的實體分片變更。

當叢集啟用區域內高可用性時,每個叢集分片都受 99.99% 服務水準協議(SLA)的可用性保障。

高可用性可在叢集建立時啟用。 高可用性也可以隨時在 現有的 Azure DocumentDB 叢集上啟用或停用。 Azure DocumentDB 叢集啟用或關閉高可用性時,資料庫不會有停機。

故障轉移期間會發生什麼事

每個分片故障轉移包含三個階段:不可用性偵測、切換到備用分片,以及重新建立備用分片。 該服務透過定期健康檢查,持續監控叢集中每個主分片與待命分片的可用性。 當健康情況檢查可靠地指出分區變成沒有回應,且必須宣告為失敗時,系統會起始實際容錯移轉 (切換) 至待命分區。

在交換階段,資料庫的讀寫會被重新導向到待命分片。 每個主分片與備用分片之間的同步複製確保備用分片始終擁有與其主分片相同的資料集。 這讓所有故障轉移都能在零資料遺失的情況下完成。 切換到待機模式時,讀取操作不會有停機時間。 寫入操作可能需要在交換階段進行內部服務重試。 這些重試可能會被視為應用程式端的寫入速度變慢。

一旦分片故障轉移完成,叢集即可完全運作。 回到原始高可用性配置的最後一步是重建備用分片。 這個待機分片的重建過程是在不造成停機或影響主要分片效能的情況下進行的。