Sobre os pools de leitura

Os pools de leitura do Cloud SQL oferecem suporte ao balanceamento de carga para cargas de trabalho de leitura grandes.

O que são pools de leitura?

Um pool de leitura é um conjunto de instâncias de réplica de leitura usadas para distribuir cargas de trabalho de leitura grandes. Essas cargas de trabalho podem ser redirecionadas da instância principal para o pool de leitura para reduzir a carga na instância principal.

Cada réplica de leitura no pool de leitura é chamada de nó do pool de leitura.

É possível escalonar o pool de leitura de várias maneiras:

  • Escalonar horizontalmente: escalone a capacidade de balanceamento de carga horizontalmente modificando o número de nós do pool de leitura. Cada pool de leitura oferece suporte a 1 a 20 nós.
  • Escalonar verticalmente: escalone a capacidade de balanceamento de carga verticalmente modificando o tipo de máquina associado a um nó do pool de leitura. Depois de definida, a configuração é aplicada uniformemente a cada nó do pool de leitura.

Ao modificar as configurações do nó do pool de leitura, como armazenamento, conectividade ou flags de configuração do banco de dados, as mudanças são aplicadas automaticamente de maneira uniforme a cada nó do pool de leitura.

Acessar um pool de leitura por um único endpoint de leitura

O pool de leitura pode ser acessado por um único endpoint de leitura com um endereço IP imutável. As conexões feitas pelo endpoint são redirecionadas automaticamente para um dos nós do pool de leitura. Quando você quer que o pool de leitura seja reduzir escalonamento horizontal ou escalonar horizontalmente horizontal, os aplicativos que estavam conectados a esse único endpoint de leitura não precisam ser reconfigurados, mesmo que você possa criar novos nós do pool de leitura ou excluir os anteriores.

Cada nó do pool de leitura também tem o próprio endereço IP. Embora não seja recomendado como uma abordagem eficiente para acessar seus dados, você pode usar esses endereços IP para solucionar problemas de desempenho de nós de pool de leitura individuais.

Para mais informações sobre como recuperar as informações de conexão do pool de leitura ou dos nós do pool de leitura (endereços IP ou uma string de conexão), consulte Visualizar informações do pool de leitura.

Escalonamento automático do pool de leitura

Para saber como configurar o pool de leitura para redimensionar automaticamente e se adaptar às necessidades de carga de trabalho em mudança do aplicativo, consulte Escalonamento automático do pool de leitura.

Características do pool de leitura

As seguintes características se aplicam:

  • Um pool de leitura com dois ou mais nós é coberto pelo contrato de nível de serviço (SLA, na sigla em inglês).
  • Os nós do pool de leitura sempre residem na mesma região, conforme especificado pelo usuário. Google Cloud O pool de leitura alterna a residência do nó entre todas as zonas da região.
  • Uma instância principal pode ter um ou mais pools de leitura.
  • As seguintes operações incorrem em tempo de inatividade de menos de um segundo:
    • Escalonamento horizontal (adicionar ou remover nós do pool de leitura).
    • Escalonamento vertical (alterar o tipo de máquina dos nós no pool).
    • Converter uma réplica de leitura zonal em um pool de leitura.
  • Um pool de leitura recebe manutenção antes da instância principal, semelhante a réplicas de leitura. Assim como as réplicas de leitura, os pools de leitura recebem manutenção durante a janela de manutenção da instância principal.
  • Cada nó do pool de leitura tem as mesmas métricas disponíveis que uma réplica de leitura do Cloud SQL
  • Ao usar gcloud ou o Google Cloud console para descrever os detalhes de um projeto, o nome do pool de leitura é listado, mas os nomes dos nós individuais do pool de leitura não são.

Limitações

Considere as seguintes limitações:

  • Os pools de leitura estão disponíveis apenas para instâncias do Cloud SQL Enterprise Plus na nova arquitetura de rede. A instância principal associada a um pool de leitura também precisa ser uma instância do Cloud SQL Enterprise Plus.
  • O tráfego é veiculado de nós do pool de leitura com base na integridade do banco de dados, mas independentemente do atraso de replicação nesse nó do pool de leitura. O tráfego pode ser veiculado de um nó de pool de leitura atrasado, mesmo que outro nó de pool de leitura esteja disponível e não esteja atrasado. Um banco de dados é considerado íntegro se o processo do banco de dados estiver ativo e puder responder a consultas, mas não há requisito sobre a atualização dos dados veiculados.
  • Nenhuma garantia é feita sobre uma única sessão lógica que se conecta a vários nós do pool de leitura. É possível que solicitações posteriores em uma sessão se conectem a um nó do pool de leitura que tenha uma posição de replicação mais baixa (GTID) do que o nó do pool de leitura que veiculou uma solicitação anterior, o que pode fazer com que o estado do banco de dados pareça voltar no tempo.
  • Os seguintes tipos de atualizações não são aceitos:
    • Embora os pools de leitura ainda recebam atualizações de manutenção do Cloud SQL, não é possível atualizar o pool de leitura para uma nova versão principal ou secundária do banco de dados.
    • Iniciar ou interromper nós do pool de leitura.
  • Além das operações que não são aceitas em réplicas de leitura, as seguintes operações não são aceitas em pools de leitura:
    • Ativar e desativar a replicação
    • Promover réplica
    • Reiniciar
    • Importar
    • Exportar
    • Failover
    • Recriptografar
    • Clonar
  • Não é possível usar certificados SSL/TLS com AC compartilhada ou gerenciada pelo cliente com um pool de leitura.
  • Um pool de leitura não pode ser replicado para outra instância, por exemplo, uma réplica em cascata ou outro pool de leitura.
  • Um pool de leitura precisa ser replicado diretamente de uma instância principal. Não pode ser uma réplica em cascata.
  • Se você quiser converter uma réplica de leitura regional em um pool de leitura, então você deve primeiro converter a réplica de leitura regional em uma réplica de leitura zonal.
  • Ao criar ou escalonar um pool de leitura, é necessário aguardar a conclusão das operações anteriores de criação, reduzir escalonamento horizontal ou escalonar horizontalmente associadas ao pool de leitura. Essa restrição se aplica a qualquer outro pool de leitura associado à mesma instância principal. Se você quiser escalonar vários pools de leitura associados à mesma instância principal, aguarde a conclusão das operações de escalonamento associadas ao primeiro pool de leitura antes de começar a escalonar o próximo pool de leitura. Se você emitir solicitações simultâneas, poderá receber o seguinte erro: Operation failed because another operation was already in progress..
  • Somente uma réplica zonal localizada na mesma região da principal pode ser convertida para uso em um pool de leitura.
  • Se o aplicativo precisar se conectar a uma réplica de leitura dedicada, por exemplo, devido a índices secundários presentes em uma réplica de leitura específica, crie uma réplica de leitura do Cloud SQL e use-a.

A seguir