Puedes definir la configuración de la instancia del grupo de lectura en el archivo de manifiesto de la instancia de la base de datos. Cada instancia de grupo de lectura requiere la creación de un archivo de manifiesto único. Puedes crear hasta 20 instancias de grupos de lectura.
Cada instancia de grupo de lectura ocupa la misma cantidad de almacenamiento que la instancia que replica.
Crea una instancia de grupo de lectura asíncrona
Puedes crear cualquier cantidad de instancias de grupos de lectura en tu clúster de base de datos. Para crear una instancia de grupo de lectura asíncrono de AlloyDB Omni, completa los siguientes 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
Reemplaza lo siguiente:
READ_POOL_INSTANCE_NAME
: Es un nombre para este recurso, por ejemplo,read-pool-instance-1
.NAMESPACE
: Es el espacio de nombres del clúster de la base de datos.DB_CLUSTER_NAME
: Es el nombre del clúster de base de datos al que pertenece la instancia.READ_POOL_INSTANCE_SIZE
: Es la cantidad de nodos en una instancia de grupo de lectura. Esto determina la capacidad de procesamiento general de la instancia. Puedes tener un máximo de 20 nodos por instancia de grupo de lectura.
Aplica el manifiesto.
Verifica 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 esté replicando datos de tu instancia de base de datos.
Para verificar el estado de transmisión 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 tu instancia de base de datos y transmite cambios de forma activa.
Cuando no se puede acceder a la instancia de base de datos, la instancia del grupo de lectura sigue atendiendo las consultas. En este caso, el estado de disponibilidad será true
y el estado de transmisión será false
.
Después de configurar la instancia de grupo de lectura, todas las inserciones, actualizaciones y eliminaciones de filas en tu instancia se podrán leer en la instancia de grupo de lectura.