本文檔介紹云數據庫MongoDB版實例的節點故障處理機制 。

單節點實例

由于單節點實例架構的特殊性,單節點實例僅擁有一個節點。當節點發生故障后,系統會對故障節點進行檢查與修復。節點故障期間實例的相關服務不可用。
說明 單節點實例適用于測試、培訓、非核心業務等場景,生產環境建議使用副本集實例或分片集群實例以保障服務的高可用性。

副本集

圖 1. 副本集架構
副本集實例提供多個節點供用戶訪問,當其中的某個節點發生故障后,系統會使用Secondary節點或隱藏節點替換故障節點繼續提供服務,并對故障節點進行檢查與修復。該過程對用戶完全透明,可能會產生1次30秒內的連接閃斷,建議您在應用程序中添加重連機制的設計。
說明 在生產環境的應用程序請勿直接連接副本集中的主節點,推薦使用Connection String URI進行連接。當使用Connection String URI進行連接時,如果某個節點出現故障,不會因為節點的切換而影響應用的讀寫操作,詳情請參見副本集實例連接說明。

分片集群實例

圖 2. 分片集群架構
分片集群實例的Shard節點和ConfigServer節點均采用三節點副本集架構。當其中的某個節點發生故障后,系統會使用隱藏節點替換故障節點繼續提供服務,并對故障節點進行檢查與修復。該過程對用戶完全透明,可能會產生1次30秒內的連接閃斷,建議您在應用程序中添加重連機制的設計。
說明
  • Mongos節點采用單節點架構,當某個Mongos節點發生故障,該節點相關服務不可用。
  • 在生產環境的應用程序請勿連接單個Mongos節點,推薦使用Connection String URI連接所有Mongos節點。當使用Connection String URI進行連接時,如果某個Mongos節點出現故障,客戶端能自動進行故障切換,將請求分散到狀態正常的Mongos節點上,詳情請參見分片集群實例連接說明