Crea una instancia de grupo de lectura asíncrono en Kubernetes

Para aumentar el rendimiento de lectura y la disponibilidad de tu clúster de bases de datos, puedes crear una instancia de grupo de lectura asíncrona de tu instancia de base de datos. Una instancia del grupo de lectura proporciona una clon de solo lectura de tu instancia de base de datos, lo que garantiza el acceso a los datos, incluso si la instancia de base de datos deja de estar disponible.

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 del grupo de lectura requiere la creación de un archivo de manifiesto único. Puedes 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.

Crea una instancia de grupo de lectura asíncrono

Puedes crear cualquier cantidad de instancias de grupo de lectura en tu clúster de bases de datos. Para crear una instancia de grupo de lectura asíncrono de AlloyDB Omni, completa los siguientes pasos:

  1. Crea el manifiesto de la instancia de base de datos para definir el tipo de instancia de 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 bases 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 del grupo de lectura.

  2. 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 entregar 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 tu instancia de base de datos, la instancia del grupo de lectura sigue publicando las consultas. En este caso, el estado de disponibilidad será true, mientras que 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 vuelven legibles en la instancia de grupo de lectura.