Lesepools

Cloud SQL-Lesepools unterstützen den Lastenausgleich für Ihre großen Lesearbeitslasten.

Was sind Lesepools?

Ein Lesepool ist eine Sammlung von Lesereplikatinstanzen, die zum Verteilen Ihrer großen Lesearbeitslasten verwendet werden. Diese Arbeitslasten können von der primären Instanz an den Lesepool weitergeleitet werden, um die Last auf der primären Instanz zu reduzieren.

Jedes Lesereplikat im Lesepool wird als Lesepoolknoten bezeichnet.

Sie können Ihren Lesepool auf verschiedene Arten skalieren:

  • Horizontal skalieren: Sie können die Lastenausgleichskapazität horizontal skalieren, indem Sie die Anzahl der Lesepoolknoten im Lesepool ändern. Jeder Lesepool unterstützt zwischen 1 und 20 Lesepoolknoten.
  • Vertikal skalieren: Sie können die Lastenausgleichskapazität vertikal skalieren, indem Sie den Maschinentyp ändern, der mit einem Lesepoolknoten verknüpft ist. Nach der Definition wird die Konfiguration einheitlich auf alle Lesepoolknoten im Lesepool angewendet.

Wenn Sie die Einstellungen für Lesepoolknoten ändern, z. B. Speicher, Konnektivität oder Datenbankkonfigurations-Flags, werden die Änderungen automatisch einheitlich auf alle Lesepoolknoten im Lesepool angewendet.

Über einen einzelnen Leseendpunkt auf einen Lesepool zugreifen

Der Lesepool ist über einen einzelnen Leseendpunkt mit einer unveränderlichen IP-Adresse zugänglich. Verbindungen, die über den Endpunkt hergestellt werden, werden automatisch zu einem der Lesepoolknoten weitergeleitet. Wenn Sie den Lesepool horizontal oder vertikal skalieren möchten, müssen Anwendungen, die zuvor mit diesem einzelnen Leseendpunkt verbunden waren, nicht neu konfiguriert werden. Sie können jedoch neue Lesepoolknoten im Lesepool erstellen oder vorhandene löschen.

Jeder Lesepoolknoten hat auch eine eigene IP-Adresse. Diese IP-Adressen sind zwar keine effiziente Methode für den Zugriff auf Ihre Daten, können aber zur Fehlerbehebung bei der Leistung einzelner Lesepoolknoten verwendet werden.

Weitere Informationen zum Abrufen der Verbindungsinformationen für den Lesepool oder die Lesepoolknoten (entweder IP-Adressen oder eine Verbindungs-String) finden Sie unter Lesepoolinformationen ansehen.

Autoscaling für Lesepools

Informationen zum Konfigurieren Ihres Lesepools, damit die Größe automatisch an die sich ändernden Arbeitslastanforderungen Ihrer Anwendung angepasst wird, finden Sie unter Autoscaling für Lesepools.

Merkmale von Lesepools

Es gelten die folgenden Merkmale:

  • Ein Lesepool mit zwei oder mehr Knoten ist durch das Service Level Agreement (SLA) abgedeckt.
  • Lesepoolknoten des Lesepools befinden sich immer in derselben Region, wie vom Nutzer angegeben. Google Cloud Die Lesepoolknoten werden zwischen allen Zonen in der Region abgewechselt.
  • Eine primäre Instanz kann einen oder mehrere Lesepools haben.
  • Die folgenden Vorgänge führen zu Ausfallzeiten von weniger als einer Sekunde:
    • Horizontale Skalierung (Hinzufügen oder Entfernen von Lesepoolknoten).
    • Vertikale Skalierung (Ändern des Maschinentyps der Knoten im Pool).
    • Konvertieren eines vorhandenen zonalen Lesereplikats in einen Lesepool.
  • Ein Lesepool wird vor der primären Instanz gewartet, ähnlich wie Lesereplikate. Wie Lesereplikate werden auch Lesepools während des Wartungsfensters der primären Instanz gewartet.
  • Für jeden Lesepoolknoten sind dieselben Messwerte wie für ein Cloud SQL Lesereplikat verfügbar.
  • Wenn Sie mit gcloud oder der Google Cloud Console die Details eines Projekts beschreiben, wird der Name des Lesepools aufgeführt, nicht aber die Namen der einzelnen Lesepoolknoten.
  • Wenn Sie die Anzahl der Lesereplikate auf mehr als 10 skalieren möchten, müssen Sie die Werte für die max_wal_senders und max_replication_slots Datenbank-Flags auf der primären Instanz auf einen Wert setzen, der größer oder gleich der Anzahl der Lesereplikate ist, die Sie verwenden möchten. Wenn Ihre primäre Instanz beispielsweise zwei Lesereplikate und zwei Lesepools mit jeweils zehn Replikaten hat, müssen Sie die max_wal_senders und max_replication_slots Konfigurations-Flags auf 22 oder höher setzen. Wenn Ihre Instanz PostgreSQL 18 verwendet, müssen Sie auch das max_active_replication_origins Flag auf 22 oder höher setzen.

Beschränkungen

Es gelten folgende Einschränkungen:

  • Lesepools sind nur für Cloud SQL Enterprise Plus-Instanzen in der neuen Netzwerkarchitektur verfügbar. Die mit einem Lesepool verknüpfte primäre Instanz muss ebenfalls eine Cloud SQL Enterprise Plus-Instanz sein.
  • Der Traffic wird von Lesepoolknoten bereitgestellt, je nachdem, ob die Datenbank fehlerfrei ist. Die Replikationsverzögerung auf diesem Lesepoolknoten spielt dabei keine Rolle. Der Traffic kann von einem Lesepoolknoten mit Verzögerung bereitgestellt werden, auch wenn ein anderer Lesepool Knoten ohne Verzögerung verfügbar ist. Eine Datenbank gilt als fehlerfrei, wenn der Datenbankprozess ausgeführt wird und Abfragen beantworten kann. Es gibt jedoch keine Anforderungen an die Aktualität der bereitgestellten Daten.
  • Es gibt keine Garantie dafür, dass eine einzelne logische Sitzung eine Verbindung zu mehreren Lesepoolknoten im Lesepool herstellt. Es ist möglich, dass spätere Anfragen in einer Sitzung eine Verbindung zu einem Lesepoolknoten herstellen, der eine niedrigere Replikations Position (LSN) hat als der Lesepoolknoten, der eine frühere Anfrage verarbeitet hat. Dadurch kann es so aussehen, als ob der Zustand der Datenbank in der Zeit zurückgeht.
  • Die folgenden Arten von Updates werden nicht unterstützt:
    • Lesepools erhalten zwar weiterhin Cloud SQL-Wartungsupdates, Sie können Ihren Lesepool aber nicht aktualisieren.
    • Starten oder Beenden von Knoten des Lesepools.
  • Zusätzlich zu Vorgängen, die für Lesereplikate nicht unterstützt werden, werden die folgenden Vorgänge für Lesepools nicht unterstützt:
    • Replikation aktivieren und deaktivieren
    • Replikat hochstufen
    • Neu starten
    • Importieren
    • Exportieren
    • Failover
    • Neu verschlüsseln
    • Klonen
  • SSL/TLS-Zertifikate mit gemeinsamer Zertifizierungsstelle oder vom Kunden verwalteter Zertifizierungsstelle können nicht mit einem Lesepool verwendet werden.
  • Ein Lesepool kann nicht in eine andere Instanz repliziert werden, z. B. ein kaskadierendes Replikat oder ein anderer Lesepool.
  • Ein Lesepool muss direkt von einer primären Instanz repliziert werden. Es kann kein kaskadierendes Replikat sein.
  • Wenn Sie ein regionales Lesereplikat in einen Lesepool konvertieren möchten, müssen Sie das regionale Lesereplikat zuerst in ein zonales Lesereplikat konvertieren.
  • Wenn Sie einen Lesepool erstellen oder skalieren, müssen Sie warten, bis die vorherigen Vorgänge zum Erstellen des Pools, Verkleinern oder Vergrößern abgeschlossen sind. Diese Einschränkung gilt für alle anderen Lesepools, die mit derselben primären Instanz verknüpft sind. Wenn Sie mehrere Lesepools skalieren möchten, die mit derselben primären Instanz verknüpft sind, müssen Sie warten, bis die Skalierungsvorgänge für den ersten Lesepool abgeschlossen sind, bevor Sie den nächsten Lesepool skalieren. Wenn Sie gleichzeitige Anfragen senden, erhalten Sie möglicherweise die folgende Fehlermeldung: Operation failed because another operation was already in progress..
  • Nur ein zonales Replikat in derselben Region wie die primäre Instanz kann für die Verwendung in einem Lesepool konvertiert werden.
  • Wenn Ihre Anwendung eine Verbindung zu einem dedizierten Lesereplikat herstellen muss, z. B. aufgrund von sekundären Indexen auf einem bestimmten Lesereplikat, erstellen Sie stattdessen ein Cloud SQL-Lesereplikat und verwenden Sie es.

Nächste Schritte