Puedes definir la configuración de la instancia del grupo de lectura en el archivo de manifiesto de la instancia de base de datos. Cada instancia de grupo de lectura requiere la creación de un archivo de manifiesto único. Puede crear hasta 20 instancias de grupo de lectura.
Cada instancia del grupo de lectura ocupa la misma cantidad de almacenamiento que la instancia que replica.
Crear una instancia de grupo de lectura asíncrona
Puedes crear tantas instancias de grupo de lectura como quieras en tu clúster de base de datos. Para crear una instancia de grupo de lectura asíncrono de AlloyDB Omni, sigue estos pasos:
Crea el manifiesto de la instancia de base de datos para definir el tipo de instancia del grupo de lectura:
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
Haz los cambios siguientes:
READ_POOL_INSTANCE_NAME
: el nombre de este recurso. Por ejemplo,read-pool-instance-1
.NAMESPACE
: el espacio de nombres del clúster de la base de datos.DB_CLUSTER_NAME
: el nombre del clúster de base de datos al que pertenece la instancia.READ_POOL_INSTANCE_SIZE
: el número de nodos de una instancia de read pool. Esto determina la capacidad de computación general de la instancia. Puedes tener un máximo de 20 nodos por instancia de grupo de lectura.
Aplica el archivo de manifiesto.
Verificar el estado de la instancia
Para verificar la disponibilidad de la instancia del grupo de lectura, ejecuta el siguiente comando:
kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Available")].status}'
La respuesta true
indica que la instancia del grupo de lectura puede atender consultas, pero es posible que no replique datos de tu instancia de base de datos.
Para verificar el estado de la réplica de la instancia del grupo de lectura, ejecuta el siguiente comando:
kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Streaming")].status}'
La respuesta true
indica que la instancia del grupo de lectura está conectada a la instancia de tu base de datos y que está transmitiendo cambios de forma activa.
Cuando no se puede acceder a tu instancia de base de datos, la instancia del grupo de lectura sigue respondiendo a las consultas. En ese caso, el estado de disponibilidad será true
y el de streaming, false
.
Una vez que hayas configurado la instancia del grupo de lectura, todas las inserciones, actualizaciones y eliminaciones de filas de tu instancia se podrán leer en la instancia del grupo de lectura.