Creare un'istanza del pool di lettura asincrono in Kubernetes

Seleziona una versione della documentazione:

Per aumentare la velocità effettiva di lettura e la disponibilità del cluster di database, puoi creare un'istanza del pool di lettura asincrona dell'istanza del database. Un'istanza del pool di lettura fornisce un clone di sola lettura dell'istanza del database, garantendo l'accesso ai dati anche se l'istanza del database non è disponibile.

Puoi definire la configurazione dell'istanza del pool di lettura nel file manifest dell'istanza del database. Ogni istanza del pool di lettura richiede la creazione di un file manifest univoco. Puoi creare fino a 20 istanze del pool di lettura.

Ogni istanza del pool di lettura occupa la stessa quantità di spazio di archiviazione dell'istanza che replica.

Creare un'istanza del pool di lettura asincrona

Puoi creare un numero qualsiasi di istanze del pool di lettura nel cluster di database. Per creare un'istanza del pool di lettura asincrono di AlloyDB Omni, completa i seguenti passaggi:

  1. Crea il manifest dell'istanza di database per definire il tipo di istanza del pool di lettura:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBInstance
    metadata:
      name: READ_POOL_INSTANCE_NAME
      namespace: NAMESPACE
    spec:
      instanceType: ReadPool
      nodeCount: READ_POOL_INSTANCE_SIZE
      dbcParent:
        name: DB_CLUSTER_NAME
    

    Sostituisci quanto segue:

    • READ_POOL_INSTANCE_NAME: un nome per questa risorsa, ad esempio read-pool-instance-1.

    • NAMESPACE: lo spazio dei nomi del cluster di database.

    • DB_CLUSTER_NAME: il nome del cluster di database a cui appartiene l'istanza.

    • READ_POOL_INSTANCE_SIZE: il numero di nodi in un'istanza del pool di lettura. Questo determina la capacità di calcolo complessiva dell'istanza. Puoi avere un massimo di 20 nodi per istanza di pool di lettura.

  2. Applica il manifest.

Verificare lo stato dell'istanza

Per verificare la disponibilità dell'istanza del pool di lettura, esegui questo comando:

  kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Available")].status}'

La risposta true indica che l'istanza del pool di lettura può gestire le query, ma potrebbe non replicare i dati dall'istanza del database.

Per verificare lo stato di streaming dell'istanza del pool di lettura, esegui questo comando:

  kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Streaming")].status}'

La risposta true indica che l'istanza del pool di lettura è connessa all'istanza del database e trasmette attivamente le modifiche.

Quando l'istanza del database non è raggiungibile, l'istanza del pool di lettura continua a gestire le query. In questo caso, lo stato di disponibilità sarà true, mentre lo stato dello streaming sarà false.

Dopo aver configurato l'istanza del pool di lettura, tutti gli inserimenti, gli aggiornamenti e le eliminazioni di righe nella tua istanza diventano leggibili nell'istanza del pool di lettura.