
Cloud SQL: Escalabilidade de Leitura com Read Pools e Autoscaling
Cloud SQL: Escalabilidade de Leitura Dinâmica com Read Pools e Autoscaling
Aplicações que executam um grande volume de consultas de leitura frequentemente se beneficiam da offload dessas operações para réplicas de leitura. Isso permite que as aplicações escalem sem impactar as operações críticas de escrita no banco de dados primário. No entanto, gerenciar essas cargas de trabalho intensivas de leitura pode rapidamente exceder a capacidade de uma única réplica.
Tradicionalmente, a criação manual de múltiplas réplicas atrás de um balanceador de carga é uma abordagem complexa e difícil de manter. Para simplificar esse processo, o Cloud SQL oferece Read Pools para MySQL e PostgreSQL, uma solução totalmente gerenciada que permite provisionar várias réplicas de leitura acessíveis por um único endpoint. Isso facilita a adição ou remoção de réplicas sem a necessidade de alterações na aplicação.
A novidade que eleva essa funcionalidade é o Autoscaling para Cloud SQL Read Pools, agora geralmente disponível na Cloud SQL Enterprise Plus edition. Este recurso ajusta dinamicamente a capacidade de leitura com base nas necessidades em tempo real da sua aplicação, otimizando performance e custos.
Entendendo os Read Pools
Ao criar um Read Pool a partir de uma instância primária, o Cloud SQL automaticamente provisiona múltiplos nós de Read Pool. Um balanceador de carga, denominado read endpoint, distribui as consultas entre esses nós de forma round-robin. Um pool pode conter entre 1 e 20 nós.
A gestão do Read Pool como uma entidade única reduz o fardo operacional. Todas as configurações, como flags de banco de dados ou tipo de VM, são aplicadas uniformemente a todos os nós. Você pode facilmente escalar seus Read Pools adicionando ou removendo nós conforme a carga de trabalho varia, sem a necessidade de reconfigurar suas aplicações, graças ao read endpoint que centraliza o tráfego.
Autoscaling para Simplificar a Escalabilidade
O Autoscaling para Cloud SQL Read Pools é ideal para cenários com cargas de trabalho variáveis:
- Gerenciamento Automático de Picos de Tráfego: A aplicação mantém a responsividade mesmo em horários de pico, pois o pool escala dinamicamente até 20 nós com base em conexões de banco de dados ou uso de CPU.
- Operações Simplificadas: A integração com um único read endpoint garante que suas aplicações permaneçam conectadas ao mesmo endereço, independentemente dos ajustes nos nós subjacentes.
- Otimização de Custos: Pague apenas pelos recursos utilizados. O autoscaling reduz o pool em períodos de baixa demanda, evitando despesas com superprovisionamento.
Melhorando a Disponibilidade com Read Pools
Projetados para confiabilidade crítica, os Read Pools do Cloud SQL oferecem uma base sólida para workloads de leitura de alta disponibilidade. Com pelo menos dois nós ativos, os Read Pools contam com um SLA de 99,99% de disponibilidade. O Cloud SQL gerencia o ambiente de forma inteligente:
- Adições de nós não interrompem conexões existentes, e novas conexões podem ser direcionadas aos novos nós.
- Atualizações de configuração, como tipo de VM ou flags de banco de dados, em pools com dois ou mais nós são realizadas com tempo de inatividade próximo de zero.
- O Cloud SQL detecta e repara falhas de hardware, substituindo nós não saudáveis automaticamente e removendo-os da rotação do balanceador.
Habilitando e Utilizando Read Pools com Autoscaling
Para ambientes com cargas de trabalho altamente variáveis, o autoscaling permite definir limites mínimos e máximos de nós, além de definir metas para métricas como utilização de CPU ou conexões de banco de dados. Um exemplo comum é o varejo, onde o tráfego flutua significativamente. Ao escalar dinamicamente para atender picos e reduzir em momentos de menor demanda, garante-se uma experiência de cliente robusta sem o custo de um ambiente superprovisionado.
Para instâncias Enterprise Plus, é possível criar um Read Pool com autoscaling. Por exemplo, a criação de um pool com dois nós e autoscaling configurado para escalar entre 2 e 10 nós, mantendo a utilização de CPU em torno de 60%, é uma configuração eficiente para equilibrar performance e custos.
Para mais detalhes e para configurar seus Read Pools com Autoscaling, consulte a documentação do MySQL e do PostgreSQL, além das notas de lançamento.
Deixe um comentário