云數據庫RDS MariaDB支持高可用切換功能。當主實例不可用時,會自動觸發主備切換,將主實例和備實例進行互換,切換后實例地址保持不變,應用自動連接到新的主實例(原備實例),從而保障實例的高可用性。此外,您還可以手動切換主備實例。
高可用系列實例有一個備實例,主備實例的數據會實時同步,您只能訪問主實例,備實例僅作為備份形式存在,不提供業務訪問。
當主實例出現故障無法訪問時,會自動切換到備用實例。
注意事項
主備實例切換過程中可能會有閃斷,請確保您的應用程序具有自動重連機制。
操作步驟
登錄RDS管理控制臺。
在頁面左上角,選擇實例所在地域。
找到目標實例,單擊實例ID。
在左側導航欄中,選擇服務可用性。
在實例可用性區域,單擊主備庫切換。
選擇切換時間,然后單擊確定。
在主備庫切換期間,有很多操作無法執行,例如管理數據庫和賬號、切換網絡類型等,建議您選擇可維護時間內進行切換。
說明若您要修改可維護時間,執行如下操作:
單擊修改。
在配置信息區域修改可維護時間段,單擊保存。
回到切換主備實例的頁面,刷新頁面,重新進行切換主備實例的操作。
常見問題
Q:主備切換后,是否需要手動切換回主實例?
不需要,主備實例的數據完全一致,主備切換后原備實例被選舉成為新的主實例,無需進行額外操作。
Q:主備切換后,超過十分鐘,實例狀態仍未恢復運行中,可能是什么原因?如何處理?
RDS在發生異常觸發高可用切換時,應用端長連接可能無法感知到連接狀態變化,如果沒有設置socket超時時間,應用程序會一直等待數據庫返回結果,通常會等到幾百秒后才會斷連,期間數據庫的部分連接無法正常工作,SQL會出現大量執行異常。為了避免無效連接,建議配置connectTimeout和socketTimeout,防止出現網絡錯誤時一直等待的情況,從而縮短故障時間。
超時配置值需要根據業務負載和使用方式進行評估,在線事務場景中建議connectTimeout配置為1~2秒,socketTimeout配置為60~90秒,此配置僅供參考。