Os conjuntos de leitura do Cloud SQL suportam o balanceamento de carga para as suas grandes cargas de trabalho de leitura.
O que são pools de leitura?
Um conjunto de leitura é uma coleção de instâncias de réplicas de leitura usadas para distribuir as suas grandes cargas de trabalho de leitura. Estas cargas de trabalho podem ser redirecionadas da instância principal para o conjunto de leitura, de modo a reduzir a carga na instância principal.
Cada réplica de leitura no conjunto de leitura é denominada nó do conjunto de leitura.
Pode dimensionar o seu conjunto de leitura de várias formas:
- Aumentar ou diminuir a escala: aumente ou diminua a capacidade de equilíbrio de carga horizontalmente modificando o número de nós do conjunto de leitura no conjunto de leitura. Cada conjunto de leitura suporta entre 1 e 20 nós do conjunto de leitura.
- Aumente ou diminua a escala: aumente ou diminua a escala verticalmente da capacidade de equilíbrio de carga modificando o tipo de máquina associado a um nó do conjunto de leitura. Uma vez definida, a configuração é aplicada uniformemente a cada nó do conjunto de leitura no conjunto de leitura.
Quando modifica as definições dos nós do conjunto de leitura, como o armazenamento, a conetividade ou os flags de configuração da base de dados, as alterações são aplicadas automaticamente de forma uniforme em todos os nós do conjunto de leitura.
O conjunto de leitura é acessível através de um ponto final de leitura único com um endereço IP imutável. As ligações feitas através do ponto final são automaticamente redirecionadas para um dos nós do conjunto de leitura. Quando quiser aumentar ou diminuir a escala do conjunto de leitura, não é necessário reconfigurar as aplicações que foram associadas anteriormente a este único ponto final de leitura, embora possa criar novos nós do conjunto de leitura no conjunto de leitura ou eliminar os anteriores.
Cada nó do conjunto de leitura também tem o seu próprio endereço IP. Embora não seja recomendado como uma abordagem eficiente para aceder aos seus dados, pode usar estes endereços IP para resolver problemas de desempenho de nós individuais do conjunto de leitura.
Para mais informações sobre como obter as informações de ligação para o conjunto de leitura ou os nós do conjunto de leitura (endereços IP ou uma string de ligação), consulte o artigo Ver informações do conjunto de leitura.
Aplicam-se as seguintes caraterísticas:
- Os nós do conjunto de leitura residem sempre na mesma região, conforme especificado pelo utilizador. Google Cloud Alterna a residência dos nós do conjunto de leitura entre todas as zonas na região.
- Uma instância principal pode ter um ou mais conjuntos de leitura.
- As seguintes operações incorrem num tempo de inatividade inferior a um segundo:
- Aumentar ou diminuir a escala (adicionar ou remover nós do conjunto de leitura).
- Aumentar ou diminuir a escala (alterar o tipo de máquina dos nós no pool).
- Converter uma réplica de leitura zonal existente num conjunto de leitura.
- Um conjunto de leitura recebe manutenção antes da respetiva instância principal, semelhante às réplicas de leitura. Tal como as réplicas de leitura, os read pools recebem manutenção durante o período de manutenção da instância principal.
- Cada nó do conjunto de leitura tem as mesmas métricas disponíveis que uma réplica de leitura do Cloud SQL.
- Quando usa
gcloud
ou a consola para descrever os detalhes de um projeto, o nome do conjunto de leitura é apresentado, mas os nomes dos nós do conjunto de leitura individuais não são. Google Cloud
Limitações
Aplicam-se as seguintes limitações:
- Os conjuntos de leitura só estão disponíveis para instâncias da edição Cloud SQL Enterprise Plus na nova arquitetura de rede. A instância principal associada a um conjunto de leitura também tem de ser uma instância da edição Cloud SQL Enterprise Plus.
- O tráfego é servido a partir de nós do conjunto de leitura com base no estado de funcionamento da base de dados, mas independentemente do tempo de atraso da replicação nesse nó do conjunto de leitura. O tráfego pode ser servido a partir de um nó do conjunto de leitura com atraso, mesmo que esteja disponível outro nó do conjunto de leitura sem atraso. Uma base de dados é considerada em bom estado se o processo da base de dados estiver em funcionamento e puder responder a consultas, mas não existe nenhum requisito sobre a atualização dos dados que estão a ser fornecidos.
- Não é feita nenhuma garantia sobre uma única sessão lógica que se ligue a vários nós do conjunto de leitura no conjunto de leitura. É possível que os pedidos posteriores numa sessão se liguem a um nó do conjunto de leitura que tenha uma posição de replicação inferior (GTID) à do nó do conjunto de leitura que processou um pedido anterior, o que pode fazer com que o estado da base de dados pareça retroceder no tempo.
- Os seguintes tipos de atualizações não são suportados:
- Embora os conjuntos de leitura continuem a receber atualizações de manutenção do Cloud SQL, não pode atualizar o conjunto de leitura para uma nova versão principal ou secundária da base de dados.
- Iniciar ou parar nós do conjunto de leitura
- Além das operações que não são suportadas em réplicas de leitura, as
seguintes operações não são suportadas em conjuntos de leitura:
- promover réplica
- reiniciar
- importar
- exportar
- ativação pós-falha
- encriptar novamente
- clonar
- Não é possível usar as seguintes funcionalidades com um conjunto de leitura:
- Private Service Connect
- Certificados SSL/TLS com AC partilhada ou AC gerida pelo cliente
- Um conjunto de leitura não pode ser replicado para outra instância, por exemplo, uma réplica em cascata ou outro conjunto de leitura.
- Um conjunto de leitura tem de ser replicado diretamente a partir de uma instância principal. Não pode ser uma réplica em cascata.
- Se quiser converter uma réplica de leitura regional num conjunto de leitura, tem de converter primeiro a réplica de leitura regional numa réplica de leitura zonal.
- Quando cria ou dimensiona um conjunto de leitura, tem de aguardar que as operações anteriores de criação do conjunto, redução ou expansão associadas ao conjunto de leitura terminem. Esta restrição aplica-se a qualquer outro conjunto de leitura associado à mesma instância principal. Se quiser dimensionar vários conjuntos de leitura associados à mesma instância principal, tem de aguardar que as operações de dimensionamento associadas ao primeiro conjunto de leitura terminem antes de começar a dimensionar o conjunto de leitura seguinte. Se
emitir pedidos simultâneos, pode receber o seguinte erro:
Operation failed because another operation was already in progress.
. - Só é possível converter uma réplica zonal localizada na mesma região que a principal para utilização num conjunto de leitura.
- Se a sua aplicação tiver de estabelecer ligação a uma réplica de leitura dedicada, por exemplo, devido a índices secundários presentes numa réplica de leitura específica, crie uma réplica de leitura do Cloud SQL e use-a em alternativa.