全部產品
Search
文件中心

ApsaraDB RDS:資料庫代理注意事項

更新時間:Sep 07, 2024

在使用RDS MySQL資料庫代理前,請瞭解本文介紹的注意事項,以便您能夠更加順利地使用資料庫代理服務。

  • 通用版代理免費。獨享版代理、唯讀執行個體和主執行個體均獨立收費,三者互不干擾。

  • 未開通資料庫代理串連保持功能時,當主執行個體或唯讀執行個體變更配置時可能會出現執行個體切換。執行個體切換的影響請參見執行個體切換的影響

  • 在Proxy 位址上新增唯讀執行個體,或者Proxy 位址上的唯讀執行個體發生重啟時,該Proxy 位址上新串連和存量老串連的請求都會路由到新的唯讀執行個體或重啟的唯讀執行個體。

  • 在Proxy 位址上刪除唯讀執行個體時,該唯讀執行個體上正在執行的語句會報錯。如果需要在不影響使用的情況下下線單個唯讀執行個體,需要將代理版本升級至2.8.41及以上,並確保代理的讀寫屬性設定為讀寫。詳細操作請參見升級資料庫代理核心小版本設定讀寫屬性和讀權重

  • 資料庫Proxy 位址暫不支援壓縮協議。

  • RDS MySQL 高可用系列的主執行個體與唯讀執行個體的參數max_prepared_stmt_count需要一致。

  • 資料庫代理的串連模型是1:N(即您的一個Business Connectivity到達代理後,代理會串連到主執行個體和所有配置的唯讀執行個體),資料庫代理本身並沒有最大串連數的限制,串連數的限制主要由後端資料庫中計算節點的規格決定。未開啟事務級串連池時,每條由用戶端發起的串連都需要在後端主節點和所有隻讀節點上各建立一個對應的串連。建議開通資料庫代理後,主執行個體和唯讀執行個體的串連數規格盡量一致,否則業務的串連數會受限於最小規格的執行個體串連數限制。

  • 使用代理串連地址時,如果沒有啟用事務拆分,事務請求都會路由到主執行個體。

  • 使用代理串連地址進行讀寫分離時,不保證非事務讀的一致性,業務上有讀一致性需求可以封裝到事務中,或者使用Hint文法

  • 使用代理串連地址時,show processlist會將所有節點的結果合并後返回。

  • 由於預設開啟設定串連池功能,show processlist可能會顯示閑置的使用者串連。

  • 如果執行了Multi-Statements或預存程序,當前串連的後續請求會全部路由到主節點,需斷開當前串連並重新串連才能恢複讀寫分離。

  • 如果使用MySQL命令列進行串連並使用Hint語句,需要在命令中增加-c選項,否則Hint會被MySQL命令列工具過濾。更多Hint文法說明,請參見使用Hint文法

  • 主執行個體被鎖定期間,代理不會被釋放,可繼續提供讀服務,但無法提供寫服務。

  • 主執行個體若被釋放,資料庫代理自動跟隨主執行個體釋放,釋放後獨享型代理不再產生費用。

  • 由於代理目前不支援切換VPC和VSwitch,對主執行個體修改VPC時,代理的VPC並不會隨之改變,代理還是能夠與主執行個體保持連通,但無法使用修改後的VPC訪問代理串連地址。

  • 在使用高許可權帳號單獨配置帳號的host範圍時,代理支援配置為10.1.2.%格式的網段。

  • 資料庫代理的IP白名單和RDS主執行個體的IP白名單保持一致。RDS主執行個體的IP白名單更新,資料庫代理的IP白名單也會同步更新。

  • 在高延遲網路環境下通過Proxy 位址訂閱Binlog(Binlog Dump)時,Binlog Dump的網路傳輸吞吐容易成為效能瓶頸,可能導致下遊複寫延遲堆積問題。建議通過配置直連資料庫節點(在應用程式或服務中直接設定資料庫連接資訊)的方式拉取Binlog。

說明

暫不相容將代理的網段配置為10.1.2.0/24