關於讀取集區

Cloud SQL 讀取集區支援負載平衡,可處理大型讀取工作負載。

什麼是讀取集區?

讀取集區是唯讀副本執行個體的集合,用於分配大型讀取工作負載。這些工作負載可以從主要執行個體重新導向至讀取集區,減輕主要執行個體的負載。

讀取集區中的每個唯讀副本稱為「讀取集區節點」。

您可以透過多種方式調度讀取集區資源:

  • 向內或向外擴充:修改讀取集區中的讀取集區節點數量,水平擴充負載平衡能力。每個讀取集區支援 1 到 20 個讀取集區節點。
  • 擴充或縮減資源:修改與讀取集區節點相關聯的機器類型,垂直擴充負載平衡容量。定義完成後,設定會統一套用至讀取集區中的每個讀取集區節點。

修改讀取集區節點設定 (例如儲存空間、連線能力或資料庫設定旗標) 時,變更會自動套用至讀取集區中的每個讀取集區節點。

透過單一讀取端點存取讀取集區

讀取集區可透過單一讀取端點存取,且 IP 位址不可變更。透過端點建立的連線會自動重新導向至其中一個讀取集區節點。當您要縮減或擴充讀取集區時,先前連線至這個單一讀取端點的應用程式不需要重新設定,即使您可以在讀取集區中建立新的讀取集區節點或刪除先前的節點,也是如此。

每個讀取集區節點也都有自己的 IP 位址。雖然不建議將其做為存取資料的高效方法,但您可以使用這些 IP 位址,排解個別讀取集區節點的效能問題。

如要進一步瞭解如何擷取讀取集區或讀取集區節點的連線資訊 (IP 位址或連線字串),請參閱「查看讀取集區資訊」。

讀取集區自動調度資源

您可以設定讀取集區,自動調整大小,因應應用程式工作負載需求的變化。詳情請參閱「讀取集區自動調度資源」。

讀取集區特性

適用下列特性:

  • 讀取集區沒有 Cloud SQL 支援的專屬 API。如要建立、設定或查看讀取集區,請使用 Cloud SQL 執行個體 API。

    舉例來說,使用 gcloud CLI 建立讀取集區時,請使用 gcloud sql instances create 指令。同樣地,如要查看讀取集區中設定的讀取集區節點數量,請使用 gcloud sql instances describe 指令。

  • 具有兩個以上節點的讀取集區,適用於服務水準協議 (SLA)。
  • 讀取集區的讀取集區節點一律位於使用者指定的相同區域。 Google Cloud 會輪流將讀取集區節點存放在該區域的所有可用區。
  • 主要執行個體可以有一或多個讀取集區。
  • 下列作業會導致不到一秒的停機時間:
    • 向外或向內水平擴展 (新增或移除讀取集區節點)。
    • 向上或向下擴充 (變更集區中節點的機器類型)。
    • 將現有的可用區唯讀副本轉換為讀取集區。
  • 讀取集區會比主要執行個體先進行維護,與唯讀副本類似。與唯讀副本一樣,讀取集區會在主要執行個體的維護期間進行維護。
  • 每個讀取集區節點都有與 Cloud SQL 唯讀副本相同的指標。
  • 使用 gcloud 或 Google Cloud 控制台描述專案詳細資料時,系統會列出讀取集區名稱,但不會列出個別讀取集區節點名稱。

限制

限制如下:

  • 讀取集區僅適用於新網路架構上的 Cloud SQL Enterprise Plus 版本執行個體。與讀取集區相關聯的主要執行個體也必須是 Cloud SQL Enterprise Plus 版本執行個體。
  • 系統會根據資料庫是否健康,從讀取集區節點提供流量,但不會考量該讀取集區節點的複製延遲時間有多長。即使有其他未延遲的讀取集區節點可用,系統仍可能從延遲的讀取集區節點提供流量。如果資料庫程序正常運作且可回應查詢,則資料庫會視為健康,但對提供的資料新舊程度沒有要求。
  • 不保證單一邏輯工作階段會連線至讀取集區中的多個讀取集區節點。工作階段中後續的要求,可能會連線至複製位置 (GTID) 低於先前要求所用節點的唯讀集區節點,導致資料庫狀態看起來像是回到過去。
  • 不支援下列更新類型:
    • 雖然讀取集區仍會收到 Cloud SQL 維護更新,但您無法將讀取集區更新至新的主要或次要資料庫版本。
    • 啟動或停止讀取集區的節點。
  • 除了唯讀副本不支援的操作之外,讀取集區也不支援下列操作:
    • 啟用及停用複製功能
    • 升級備用資源
    • 重新啟動
    • 匯入
    • 匯出
    • 容錯移轉
    • 重新加密
    • 複製
  • 共用 CA 或客戶自行管理的 CA 簽發的 SSL/TLS 憑證,無法與讀取集區搭配使用。
  • 讀取集區無法複製到其他執行個體,例如串連副本或其他讀取集區。
  • 讀取集區必須直接從主要執行個體複製資料。不能是串聯式副本。
  • 如要將區域性唯讀副本轉換為讀取集區,必須先將區域性唯讀副本轉換為可用區唯讀副本。
  • 建立或擴充讀取集區時,必須等待與讀取集區相關聯的先前建立集區、縮減或水平擴展作業完成。這項限制適用於與同一個主要執行個體相關聯的其他讀取集區。如要擴充與同一個主要執行個體相關聯的多個讀取集區,請先等待與第一個讀取集區相關聯的擴充作業完成,再開始擴充下一個讀取集區。如果發出並行要求,可能會收到下列錯誤:Operation failed because another operation was already in progress.。
  • 只有與主要執行個體位於相同區域的可用區副本,才能轉換為讀取集區。
  • 如果應用程式必須連線至專屬唯讀副本 (例如特定唯讀副本上有次要索引),請建立 Cloud SQL 唯讀副本並改用該副本。

後續步驟