Informazioni sui pool di lettura

I pool di lettura di Cloud SQL supportano il bilanciamento del carico per i carichi di lavoro di lettura di grandi dimensioni.

Che cosa sono i pool di lettura?

Un pool di lettura è una raccolta di istanze di repliche di lettura utilizzate per distribuire i carichi di lavoro di lettura di grandi dimensioni. Questi carichi di lavoro possono essere reindirizzati dall'istanza principale al pool di lettura per ridurre il carico sull'istanza principale.

Ogni replica di lettura nel pool di lettura è chiamata nodo del pool di lettura.

Puoi scalare il pool di lettura in diversi modi:

  • Fare lo scale in o lo scale out: scalare orizzontalmente la capacità di bilanciamento del carico modificando il numero di nodi del pool di lettura nel pool di lettura. Ogni pool di lettura supporta da 1 a 20 nodi del pool di lettura.
  • Fare lo scale up o lo scale down: fare lo scale up verticalmente della capacità di bilanciamento del carico modificando il tipo di macchina associato a un nodo del pool di lettura. Una volta definita, la configurazione viene applicata in modo uniforme a ogni nodo del pool di lettura nel pool di lettura.

Quando modifichi le impostazioni dei nodi del pool di lettura, come i flag di configurazione di archiviazione, connettività o database, le modifiche vengono applicate automaticamente in modo uniforme a ogni nodo del pool di lettura nel pool di lettura.

Accedere a un pool di lettura tramite un singolo endpoint di lettura

Il pool di lettura è accessibile tramite un singolo endpoint di lettura con un indirizzo IP immutabile. Le connessioni effettuate tramite l'endpoint vengono reindirizzate automaticamente a uno dei nodi del pool di lettura. Quando vuoi che il pool di lettura esegua fare lo scale in o lo scale-out, le applicazioni che in precedenza erano connesse a questo singolo endpoint di lettura non devono essere riconfigurate, anche se puoi creare nuovi nodi del pool di lettura nel pool di lettura o eliminare quelli precedenti.

Ogni nodo del pool di lettura ha anche il proprio indirizzo IP. Sebbene non sia consigliato come approccio efficiente per accedere ai dati, puoi utilizzare questi indirizzi IP per risolvere i problemi di prestazioni dei singoli nodi del pool di lettura.

Per ulteriori informazioni su come recuperare le informazioni di connessione per il pool di lettura o i nodi del pool di lettura (indirizzi IP o una stringa di connessione), consulta Visualizzare le informazioni sul pool di lettura.

Scalabilità automatica del pool di lettura

Per scoprire come configurare il pool di lettura in modo che venga ridimensionato automaticamente per adattarsi a esigenze di carico di lavoro in continua evoluzione della tua applicazione, consulta Scalabilità automatica del pool di lettura.

Caratteristiche del pool di lettura

Si applicano le seguenti caratteristiche:

  • Un pool di lettura con due o più nodi è coperto dal l'accordo sul livello del servizio (SLA).
  • I nodi del pool di lettura risiedono sempre nella stessa regione, come specificato dall'utente. Google Cloud alterna la residenza dei nodi del pool di lettura tra tutte le zone della regione.
  • Un'istanza principale può avere uno o più pool di lettura.
  • Le seguenti operazioni comportano un tempo di inattività inferiore al secondo:
    • Scale-out o scale-in (aggiunta o rimozione di nodi del pool di lettura).
    • Scale-up o scale-down (modifica del tipo di macchina dei nodi nel pool).
    • Conversione di una replica di lettura a livello di zona esistente in un pool di lettura.
  • Un pool di lettura riceve la manutenzione prima dell'istanza principale, in modo simile alle repliche di lettura. Come le repliche di lettura, i pool di lettura ricevono la manutenzione durante il periodo di manutenzione dell'istanza principale.
  • Ogni nodo del pool di lettura ha le stesse metriche disponibili di una replica di lettura di Cloud SQL.
  • Quando utilizzi gcloud o la Google Cloud console per descrivere i dettagli di un progetto, viene elencato il nome del pool di lettura, ma non i nomi dei singoli nodi del pool di lettura.
  • Se vuoi scalare il numero di repliche di lettura oltre un conteggio totale di 10, devi reimpostare i valori dei flag di database max_wal_senders e max_replication_slots sull'istanza principale su un valore maggiore o uguale al numero di repliche di lettura che vuoi utilizzare. Ad esempio, se l'istanza principale ha due repliche di lettura e due pool di lettura di dieci repliche ciascuno, devi reimpostare i flag di configurazione max_wal_senders e max_replication_slots su 22 o un valore superiore. Se l'istanza utilizza PostgreSQL 18, devi impostare anche il flag max_active_replication_origins su 22 o un valore superiore.

Limitazioni

Si applicano le seguenti limitazioni:

  • I pool di lettura sono disponibili solo per le istanze della versione Cloud SQL Enterprise Plus sulla nuova architettura di rete. Anche l'istanza principale associata a un pool di lettura deve essere un'istanza della versione Cloud SQL Enterprise Plus.
  • Il traffico viene gestito dai nodi del pool di lettura in base all'integrità del database, ma indipendentemente dal ritardo della replica su quel nodo del pool di lettura. Il traffico può essere gestito da un nodo del pool di lettura in ritardo anche se è disponibile un altro nodo del pool di lettura che non è in ritardo. Un database è considerato integro se il processo del database è attivo e può rispondere alle query, ma non è necessario che i dati gestiti siano aggiornati.
  • Non viene fornita alcuna garanzia in merito a una singola sessione logica che si connette a più nodi del pool di lettura nel pool di lettura. È possibile che le richieste successive in una sessione si connettano a un nodo del pool di lettura con una posizione di replica (LSN) inferiore rispetto al nodo del pool di lettura che ha gestito una richiesta precedente, il che può far sembrare che lo stato del database torni indietro nel tempo.
  • I seguenti tipi di aggiornamenti non sono supportati:
    • Sebbene i pool di lettura continuino a ricevere gli aggiornamenti di manutenzione di Cloud SQL, non puoi aggiornare il pool di lettura a una nuova versione principale del database.
    • Avvio o arresto dei nodi del pool di lettura.
  • Oltre alle operazioni non supportate sulle repliche di lettura, le seguenti operazioni non sono supportate sui pool di lettura:
    • Abilitare e disabilitare la replica
    • Promuovi replica
    • Riavvia
    • Importa
    • Esporta
    • Failover
    • Nuova crittografia
    • Clona
  • I certificati SSL/TLS con CA condivisa o CA gestita dal cliente non possono essere utilizzati con un pool di lettura.
  • Un pool di lettura non può eseguire la replica in un'altra istanza, ad esempio una replica a cascata o un altro pool di lettura.
  • Un pool di lettura deve eseguire la replica direttamente da un'istanza principale. Non può essere una replica a cascata.
  • Se vuoi convertire una replica di lettura a livello di regione in un pool di lettura, devi prima convertire la replica di lettura a livello di regione in una replica di lettura a livello di zona.
  • Quando crei o ridimensioni un pool di lettura, devi attendere il completamento delle operazioni precedenti di creazione del pool, fare lo scale in o fare lo scale out associate al pool di lettura. Questa limitazione si applica a qualsiasi altro pool di lettura associato alla stessa istanza principale. Se vuoi scalare più pool di lettura associati alla stessa istanza principale, devi attendere il completamento delle operazioni di scalabilità associate al primo pool di lettura prima di iniziare a scalare il pool di lettura successivo. Se invii richieste simultanee, potresti ricevere il seguente errore: Operation failed because another operation was already in progress..
  • Solo una replica a livello di zona che si trova nella stessa regione dell'istanza principale può essere convertita per l'utilizzo in un pool di lettura.
  • Se la tua applicazione deve connettersi a una replica di lettura dedicata, ad esempio a causa degli indici secondari presenti su una replica di lettura specifica, crea una replica di lettura di Cloud SQL e utilizzala.

Passaggi successivi