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 é uma coleção 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ó de pool de leitura.

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

  • Redimensionar para mais ou menos: redimensione a capacidade do balanceamento de carga horizontalmente modificando o número de nós do pool de leitura. Cada pool de leitura aceita entre 1 e 20 nós.
  • Escalonar para cima ou para baixo: escalone a capacidade de balanceamento de carga verticalmente modificando o tipo de máquina associado a um nó de pool de leitura. Depois de definida, a configuração é aplicada de maneira uniforme em cada nó do pool de leitura.

Quando você modifica as configurações do nó do pool de leitura, como sinalizações de configuração de armazenamento, conectividade ou banco de dados, as mudanças são aplicadas de forma uniforme em cada nó do pool de leitura.

O pool de leitura pode ser acessado por um endpoint de leitura único 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 dimensionado, os aplicativos que estavam conectados a esse único endpoint de leitura não precisam ser reconfigurados, mesmo que você possa criar novos nós de pool de leitura no 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 recomendada como uma abordagem eficiente para acessar seus dados, é possível usar esses endereços IP para resolver 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.

As seguintes características se aplicam:

  • Os nós do pool de leitura sempre ficam na mesma região, conforme especificado pelo usuário. Google Cloud Alterna a residência do nó do pool de leitura entre todas as zonas da região.
  • Uma instância primária pode ter um ou mais pools de leitura.
  • As operações a seguir têm inatividade de menos de um segundo:
    • Dimensionamento para fora ou para dentro (adicionar ou remover nós do pool de leitura).
    • Aumento ou redução de escala (mudança no 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 às 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 o gcloud ou o console Google Cloud para descrever os detalhes de um projeto, o nome do pool de leitura é listado, mas os nomes de nó de pool de leitura individuais não são.

Limitações

Considere as seguintes limitações:

  • Os pools de leitura só estão disponíveis 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 a partir de nós de pool de leitura com base na integridade do banco de dados, mas independentemente do atraso de replicação nesse nó. O tráfego pode ser veiculado a partir de um nó de pool de leitura com atraso, mesmo que outro nó de pool de leitura esteja disponível sem atraso. Um banco de dados é considerado saudável se o processo do banco de dados estiver ativo e puder responder a consultas, mas não há um requisito sobre a atualidade dos dados que estão sendo exibidos.
  • Não há garantia de que uma única sessão lógica se conecte a vários nós do pool de leitura no pool de leitura. É possível que solicitações posteriores em uma sessão se conectem a um nó de pool de leitura com uma posição de replicação menor (LSN, na sigla em inglês) do que o nó de pool de leitura que atendeu a uma solicitação anterior, o que pode fazer com que o estado do banco de dados pareça voltar no tempo.
  • Não há suporte para os seguintes tipos de atualização:
    • 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 do banco de dados.
    • Como iniciar ou interromper nós do pool de leitura
  • Além das operações que não são compatíveis com réplicas de leitura, as seguintes operações não são compatíveis com pools de leitura:
    • promote-replica
    • restart
    • import
    • export
    • failover
    • recriptografar
    • clone
  • Os recursos a seguir não podem ser usados com um pool de leitura:
    • Private Service Connect
    • Certificados SSL/TLS com uma AC compartilhada ou gerenciada pelo cliente
  • 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. Ela não pode ser uma réplica em cascata.
  • Se você quiser converter uma réplica de leitura regional em um pool de leitura, primeiro converta a réplica de leitura regional em uma réplica de leitura zonal.
  • Ao criar ou dimensionar um pool de leitura, é necessário aguardar a conclusão das operações anteriores de criação de pool, dimensionamento para dentro ou para fora associadas ao pool de leitura. Essa restrição se aplica a qualquer outro pool de leitura associado à mesma instância principal. Se você quiser dimensionar vários pools de leitura associados à mesma instância principal, aguarde a conclusão das operações de dimensionamento associadas ao primeiro pool de leitura antes de começar a dimensionar o próximo. 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.
  • Não é possível adicionar ou remover nós do pool de leitura enquanto você está mudando o tipo de máquina ao mesmo tempo.
  • 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 e use uma réplica de leitura do Cloud SQL.
  • Não é possível consultar usuários e bancos de dados específicos associados a um pool de leitura. Como o Cloud SQL Studio depende de dados fornecidos por usuários e bancos de dados, ele não é compatível com pools de leitura.

A seguir