Cloud SQL 讀取集區可為大量讀取工作負載提供負載平衡功能。
什麼是讀取集區?
讀取集區是用於分散大量讀取工作負載的唯讀備用資源集合。這些工作負載可從主要執行個體重新導向至讀取集區,以減輕主要執行個體的負載。
讀取集區中的每個讀取備用資源稱為讀取集區節點。
您可以透過多種方式調整讀取集區:
- 縮放或擴大:修改讀取集區中的讀取集區節點數量,以水平方式擴大負載平衡能力。每個讀取集區支援 1 到 20 個讀取集區節點。
- 向上或向下調整:修改與讀取集區節點相關聯的機器類型,以垂直方式調整負載平衡容量。定義完成後,系統會在讀取集區的每個讀取集區節點中,統一套用設定。
修改讀取集區節點設定 (例如儲存空間、連線或資料庫設定標記) 時,系統會自動將變更套用至讀取集區中的每個讀取集區節點。
您可以透過單一讀取端點存取讀取集區,該端點具有不可變動的 IP 位址。透過端點建立的連線會自動重新導向至其中一個讀取資源池節點。當您想要讀取集區縮放或擴展時,先前已連線至這個單一讀取端點的應用程式不需要重新設定,但您可以在讀取集區中建立新的讀取集區節點,或刪除先前的節點。
每個讀取集區節點也有自己的 IP 位址。雖然我們不建議使用這些 IP 位址存取資料,但您可以使用這些 IP 位址排解個別讀取叢集節點的效能問題。
如要進一步瞭解如何擷取讀取集區或讀取集區節點 (IP 位址或連線字串) 的連線資訊,請參閱「查看讀取集區資訊」一文。
適用下列特性:
- 讀取集區的讀取集區節點一律會位於使用者指定的區域。 Google Cloud 會在該區域的所有區域中交替讀取集區節點的駐留位置。
- 主要執行個體可包含一或多個讀取集區。
- 以下作業會造成小於 1 秒的服務中斷時間:
- 擴大或縮小規模 (新增或移除讀取集區節點)。
- 調整集區規模 (變更集區中節點的機器類型)。
- 將現有的區域唯讀備用資源轉換為讀取集區。
- 讀取集區會在主要執行個體維護前進行維護,類似於唯讀備用資源。與唯讀備用資源一樣,讀取集區會在主要執行個體的維護期間進行維護。
- 每個讀取集區節點都提供與 Cloud SQL 唯讀備用資源相同的指標。
- 使用
gcloud
或 Google Cloud 控制台說明專案詳細資料時,系統會列出讀取集區名稱,但不會列出個別讀取集區節點名稱。
限制
限制如下:
- 讀取集區僅適用於Cloud SQL Enterprise Plus 版本的執行個體,且必須採用新網路架構。與讀取集區相關聯的主要執行個體也必須是 Cloud SQL Enterprise Plus 版本的執行個體。
- 系統會根據資料庫是否健康,從讀取集區節點提供流量,但不論讀取集區節點的複製延遲時間有多高。即使有其他可用的讀取集區節點,系統仍可從延遲的讀取集區節點提供流量。如果資料庫程序已啟動且可回答查詢,則系統會將資料庫視為健康狀態,但不會要求提供的資料有多新。
- 我們無法保證單一邏輯工作階段會連線至讀取集區中的多個讀取集區節點。工作階段中的後續要求可能會連線至比提供先前要求的讀取集區節點,具有較低複製位置 (GTID),這可能會導致資料庫狀態似乎回溯至過去。
- 系統不支援下列更新類型:
- 讀取集區仍會收到 Cloud SQL 維護更新,但您無法將讀取集區更新為新的主要或次要資料庫版本。
- 啟動或停止讀取集區的節點
- 除了唯讀備用資源不支援的作業之外,讀取集區也不支援下列作業:
- 推送備用資源
- restart
- import
- 匯出
- 容錯移轉
- re-encrypt
- clone
- 下列功能無法與讀取集區搭配使用:
- Private Service Connect
- 使用共用 CA 或客戶管理的 CA 的 SSL/TLS 憑證
- 讀取集區無法複製至其他執行個體,例如分層備用資源或其他讀取集區。
- 讀取集區必須直接從主要執行個體複製資料。不能是串聯式備用資源。
- 如果您想將區域唯讀備用資源轉換為唯讀集區,則必須先將區域唯讀備用資源轉換為區域唯讀備用資源。
- 建立或調整讀取集區時,您必須等待與讀取集區相關聯的先前建立集區、縮減或擴充作業完成。這項限制適用於與相同主要執行個體相關聯的任何其他讀取集區。如果您想調整與同一個主要執行個體相關聯的多個讀取集區,則必須等到與第一個讀取集區相關聯的調整作業完成,才能開始調整下一個讀取集區。如果您發出並行要求,可能會收到下列錯誤:
Operation failed because another operation was already in progress.
。 - 只有與主要執行個體位於相同區域的可用區備援機制,才能轉換為讀取集區使用。
- 您無法同時變更機器類型,並在讀取集區中新增或移除讀取集區節點。
- 如果應用程式必須連線至專屬的唯讀備用資源 (例如,因為特定唯讀備用資源上有次要索引),請建立 Cloud SQL 唯讀備用資源,並改用該備用資源。
- 您無法查詢與讀取集相關的特定使用者和資料庫。由於 Cloud SQL Studio 仰賴使用者和資料庫提供的資料,因此不支援讀取集區。