I pool di lettura 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 replica di lettura utilizzate per distribuire i tuoi grandi carichi di lavoro di lettura. Questi workload 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:
- Scale in o scale out: scala la capacità di bilanciamento del carico in orizzontale 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.
- Esegui lo scale up o lo scale down: scala la capacità di bilanciamento del carico in verticale 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.
Quando modifichi le impostazioni dei nodi del pool di lettura, ad esempio lo spazio di archiviazione, la connettività o i flag di configurazione del database, le modifiche vengono applicate automaticamente in modo uniforme a ogni nodo del pool 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 eseguire il ridimensionamento in scala del pool di lettura, le applicazioni precedentemente collegate a questo singolo endpoint di lettura non devono essere riconfigurate, anche se puoi creare nuovi nodi del pool di lettura o eliminare quelli precedenti.
Ogni nodo del pool di lettura ha anche un proprio indirizzo IP. Sebbene non sia consigliato come approccio efficiente per accedere ai dati, puoi utilizzare questi indirizzi IP per risolvere i problemi di rendimento dei singoli nodi del pool di lettura.
Per ulteriori informazioni su come recuperare le informazioni di connessione per il pool di lettura o i relativi nodi (indirizzi IP o una stringa di connessione), consulta Visualizzare le informazioni del pool di lettura.
Si applicano le seguenti caratteristiche:
- I nodi del pool di lettura del pool di lettura si trovano 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 riposo inferiore al secondo:
- Eseguire la scalabilità in espansione o in contrazione (aggiungendo o rimuovendo nodi del pool di lettura).
- Eseguire l'upgrade o il downgrade (modificare il tipo di macchina dei nodi nel pool).
- Conversione di una replica di lettura zonale esistente in un pool di lettura.
- Un pool di lettura riceve la manutenzione prima dell'istanza principale, come avviene per le repliche di lettura. Come le repliche di lettura, i pool di lettura vengono sottoposti a 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 Cloud SQL.
- Quando utilizzi
gcloud
o la 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. Google Cloud
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. L'istanza principale associata a un pool di lettura deve essere anche un'istanza Cloud SQL Enterprise Plus.
- Il traffico viene inviato dai nodi del pool di lettura in base allo stato del database, indipendentemente dall'entità del ritardo di replica sul nodo del pool di lettura. Il traffico può essere inviato da un nodo del pool di lettura in ritardo anche se è disponibile un altro nodo del pool di lettura senza ritardi. Un database è considerato affidabile se il processo del database è attivo e può rispondere alle query, ma non è previsto alcun requisito per l'aggiornamento dei dati pubblicati.
- 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 di una sessione si connettano a un nodo del pool di lettura con una posizione di replica inferiore (GTID) rispetto al nodo del pool di lettura che ha soddisfatto una richiesta precedente, il che può causare un ritorno dello stato del database nel tempo.
- I seguenti tipi di aggiornamenti non sono supportati:
- Sebbene i pool di lettura continuino a ricevere aggiornamenti di manutenzione di Cloud SQL, non puoi aggiornare il pool di lettura a una nuova versione principale o secondaria del database.
- Avvio o arresto dei nodi del pool di lettura
- Oltre alle operazioni non supportate nelle repliche di lettura, le seguenti operazioni non sono supportate nei pool di lettura:
- promuovere replica
- restart
- import
- esportare
- failover
- ricriptare
- clone
- Le seguenti funzionalità non possono essere utilizzate con un pool di lettura:
- Private Service Connect
- Certificati SSL/TLS con CA condivisa o gestita dal cliente
- Un pool di lettura non può essere replicato in un'altra istanza, ad esempio una replica con struttura a cascata o un altro pool di lettura.
- Un pool di lettura deve essere replicato direttamente da un'istanza principale. Non può essere una replica a cascata.
- Se vuoi convertire una replica di lettura regionale in un pool di lettura, devi prima convertirla in una replica di lettura zonale.
- Quando crei o esegui il ridimensionamento di un pool di lettura, devi attendere il completamento delle operazioni precedenti di creazione del pool, di ridimensionamento verso l'interno o verso l'esterno associate al pool di lettura. Questa
limitazione si applica a qualsiasi altro pool di lettura associato alla stessa
istanza principale. Se vuoi eseguire il ridimensionamento di più pool di lettura associati alla stessa
istanza principale, devi attendere il completamento delle operazioni di ridimensionamento associate al
primo pool di lettura prima di iniziare a eseguire il ridimensionamento del pool di lettura successivo. Se
invii richieste concorrenti, potresti ricevere il seguente errore:
Operation failed because another operation was already in progress.
. - Solo una replica a livello di zona situata nella stessa regione dell'istanza principale può essere trasformata per l'utilizzo in un pool di lettura.
- Non puoi aggiungere o rimuovere nodi dal pool di lettura mentre ne stai modificando il tipo di macchina.
- Se la tua applicazione deve connettersi a una replica di lettura dedicata, ad esempio a causa di indici secondari presenti in una replica di lettura specifica, crea una replica di lettura Cloud SQL e utilizzala.
- Non puoi eseguire query su utenti e database specifici associati a un pool di lettura. Poiché Cloud SQL Studio si basa sui dati forniti da utenti e database, non è supportato con i pool di lettura.