在MongoDB執行個體的運行過程中,當高可用系統監測到執行個體中的某個節點不可用,將觸發節點切換操作並以簡訊或站內通知的形式通知使用者。
收到的通知內容
【阿里雲】尊敬的****:您的ApsaraDB for MongoDB執行個體:dds-bp****(名稱:****)出現異常,高可用系統已經觸發切換,確保執行個體穩定運行。請檢查程式串連是否正常,建議設定自動重連機制以避免切換影響。
為什麼會收到該通知
ApsaraDB for MongoDB採用高可用架構:複本集執行個體中預設包含三個節點;分區叢集執行個體中的每個Shard節點都包含三個節點。其中,Primary節點及Secondary節點對外提供訪問地址,Hidden節點作為日常備節點保障高可用。 更多詳情請參見複本集架構或分區叢集架構。
常見原因如下:
- 節點不可用:ApsaraDB for MongoDB支援節點健康狀態監測,當監測到執行個體中的某個節點不可用,則會觸發高可用切換,對節點進行切換操作(例如將Primary節點和Secondary節點進行互換),保障執行個體的高可用性。
- 節點所在的機器下線:ApsaraDB for MongoDB執行個體中節點所在的機器出現異常,為了避免影響業務將機器進行下線處理,則會觸發高可用切換,對節點進行切換操作(例如將Primary節點和Secondary節點進行互換),保障執行個體的高可用性。
主備切換的影響
- 將造成1次30秒內的串連閃斷。
- 如果您的業務通過Primary節點的地址串連,那麼由於節點角色發生變化,將會對業務的讀寫操作造成影響,例如無法寫入資料。
業務部署建議
- 為業務設計重連機制,串連閃斷後可自動重連,保障業務穩定運行。
- 推薦生產環境的應用程式通過ConnectionStringURI地址串連資料庫。當某個節點出現故障時,不會因為主備切換而影響應用的讀寫操作,詳情請參見複本集執行個體串連說明或分區叢集執行個體串連說明。