自2024年10月22日起,雲資料庫RDS MySQL不僅支援資料庫代理跨可用性區域部署和就近訪問功能,實現應用程式、代理、資料庫全鏈路跨可用性區域容災,以及支援應用程式訪問同一可用性區域的代理節點和資料庫,避免跨區訪問,有效降低訪問延遲。本次新增功能不僅增強了RDS MySQL同城容災架構的高可用性和穩定性,還進一步提升了系統的靈活性和效能。
上線時間
2024年10月22日
代理部署架構
RDS MySQL資料庫代理支援單可用性區域部署和雙可用性區域部署。
單可用性區域部署:指所有代理節點位於同一可用性區域。
雙可用性區域部署:指代理節點位於兩個不同可用性區域,實現跨可用性區域容災,不額外收費。
部署形式
代理部署形式包含以下三種:
部署形式1

部署形式2

部署形式3

部署形式 | 可用性區域 | 代理節點總個數 | 規格限制 | 支援代理類型 |
部署形式1 | 雙可用性區域 | 4 | 同一可用性區域內,代理節點規格必須一致。 | 獨享型 |
部署形式2 | 雙可用性區域 | 2 | 兩個節點規格必須一致。 | 獨享型、通用型 |
部署形式3 | 單可用性區域 | 2 | 同一可用性區域內,代理節點規格必須一致。 | 獨享型、通用型 |
開通資料庫代理後支援變更代理部署架構,詳情請參見變更代理配置。
預設架構及可用性區域
代理預設架構及可用性區域遵循以下邏輯:
RDS執行個體部署形式 | 代理類型 | 預設代理部署形式 | 預設代理可用性區域 |
單可用性區域部署 | 獨享型 | 部署形式3 | 預設和RDS執行個體主節點的主可用性區域保持一致。 |
通用型 | 部署形式3 | ||
雙可用性區域部署 | 獨享型 | 部署形式1 |
|
通用型 | 部署形式2 |
代理容災機制
部署形式1
當發生代理節點層級故障時,故障節點不再承擔流量,流量將轉寄到同一可用性區域內的其他未發生故障的代理節點。
當發生可用性區域層級故障時,由於多可用性區域部署,具備跨可用性區域容災的能力,業務流量將轉寄到未發生故障的可用性區域代理節點。當故障可用性區域的代理節點恢複後,新增業務流量將轉寄到恢複後的代理節點中,存量長連線路由保持不變,等待自動消亡。
說明如果開通了就近訪問功能,出於可用性高於訪問延遲的考慮,當發生可用性區域層級故障時就近訪問功能可能會失效,優先保障代理執行個體整體的可用性。
部署形式2
由於代理是雙可用性區域兩節點部署,代理節點層級的故障等同於可用性區域層級的故障,當發生故障時,業務流量將轉寄到另一個未發生故障的可用性區域內的代理節點。
部署形式3
當發生代理節點層級故障時,故障節點不再承擔流量,業務流量將全部由同一可用性區域內的另一個未發生故障的代理節點承擔。
當發生可用性區域層級故障時,代理將無法提供服務,需要等可用性區域機房故障恢複,或手動變更代理到跨可用性區域部署形式。
就近訪問功能簡介
當資料庫代理為雙可用性區域部署時,開通雲資料庫RDS MySQL的代理就近訪問功能,支援使用者指定應用程式串連到同一可用性區域內的代理節點,通過將同可用性區域的資料庫節點添加至該代理串連地址(原始代理端點)中,可確保所有業務流量在單一可用性區域內完成路由,最大限度地減少了訪問延遲,如下圖所示。