Crie uma instância de pool de leitura assíncrona no Kubernetes

Selecione uma versão da documentação:

Para aumentar o débito de leitura e a disponibilidade do cluster da base de dados, pode criar uma instância de pool de leitura assíncrona da instância da base de dados. Uma instância de conjunto de leitura fornece um clone só de leitura da sua instância de base de dados, o que garante o acesso aos dados, mesmo que a instância de base de dados fique indisponível.

Pode definir a configuração da instância do conjunto de leitura no ficheiro de manifesto da instância da base de dados. Cada instância do conjunto de leitura requer a criação de um ficheiro de manifesto exclusivo. Pode criar até 20 instâncias de conjunto de leitura.

Cada instância do conjunto de leitura ocupa a mesma quantidade de armazenamento que a instância que replica.

Crie uma instância do pool de leitura assíncrona

Pode criar qualquer número de instâncias do conjunto de leitura no cluster da base de dados. Para criar uma instância de pool de leitura assíncrona do AlloyDB Omni, conclua os seguintes passos:

  1. Crie o manifesto da instância da base de dados para definir o tipo de instância do conjunto de leitura:

    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
    

    Substitua o seguinte:

    • READ_POOL_INSTANCE_NAME: um nome para este recurso, por exemplo, read-pool-instance-1.

    • NAMESPACE: o espaço de nomes do cluster da base de dados.

    • DB_CLUSTER_NAME: o nome do cluster da base de dados ao qual a instância pertence.

    • READ_POOL_INSTANCE_SIZE: o número de nós numa instância do pool de leitura. Isto determina a capacidade de computação geral da instância. Pode ter um máximo de 20 nós por instância de conjunto de leitura.

  2. Aplique o manifesto.

Valide o estado da instância

Para validar a disponibilidade da instância do conjunto de leitura, execute o seguinte comando:

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

A resposta true indica que a instância do conjunto de leitura pode processar consultas, mas pode não estar a replicar dados da instância da base de dados.

Para validar o estado de streaming da instância do conjunto de leitura, execute o seguinte comando:

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

A resposta true indica que a instância do conjunto de leitura está ligada à sua instância da base de dados e a transmitir ativamente alterações.

Quando a instância da base de dados está inacessível, a instância do conjunto de leitura continua a servir as consultas. Neste caso, o estado de disponibilidade é true, enquanto o estado de streaming é false.

Depois de configurar a instância do conjunto de leitura, todas as inserções, atualizações e eliminações de linhas na sua instância tornam-se legíveis na instância do conjunto de leitura.