As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Aumentar a escalabilidade, a performance e a disponibilidade da aplicação usando o Amazon RDS Proxy
Criado por Anand Komandooru, Noorul Hasan, Venkat Nalajala e Varun Kumar, Amazon Web Services (AWS)
Outubro de 2022
Este guia abordará a necessidade de agrupamento de conexões de banco de dados, os desafios associados à implementação de uma solução auto-hospedada e os benefícios de usar o Amazon Relational Database Service (Amazon RDS) Proxy
Desafio
O PostgreSQL é implementado usando process-per-user um modelo cliente/servidor.
Muitas aplicações, incluindo aqueles criados em arquiteturas sem servidor modernas, podem ter um grande número de conexões abertas com o servidor de banco de dados. Eles podem abrir e fechar conexões de banco de dados em alta velocidade, esgotando a memória do banco de dados e os recursos computacionais.
Aplicações transacionais que abram e fechem conexões com frequência terão maior latência de conexão, resultando em menos transações por segundo. Isso aumentará a latência da aplicação.
Um failover ocorre quando a instância primária do banco de dados se torna inacessível e outra instância assume o controle como a nova instância primária. Isso interrompe as conexões do cliente. Os failovers podem ser planejados, quando induzidos por ações administrativas, como uma atualização contínua, ou não planejados, quando ocorrem devido a falhas. Em ambos os casos, os operadores devem reduzir o tempo de inatividade para minimizar a interrupção do cliente.
Prática comum
Para enfrentar os desafios de escalabilidade e performance de aplicações, um grupo de conexões é usado. O grupo de conexões reduz significativamente a latência da conexão ao reutilizar as conexões existentes e permite maior throughput do banco de dados (transações por segundo) no servidor. O grupo de conexões enfileira ou acelera conexões de aplicações que não podem ser atendidas imediatamente do grupo de conexões.
Desafios adicionais surgem após a implementação desse grupo de conexões. Os operadores devem autogerenciar a infraestrutura e o software para operar o serviço de agrupamento de conexões. Para lidar com um evento de failover, os desenvolvedores de aplicações devem gerenciar a complexidade da conexão de cada aplicação. A aplicação precisa detectar a falha de conexão, descobrir um novo primário e se reconectar a ele o mais rápido possível.
Recomendação
Para reduzir os desafios associados a uma solução de agrupamento de conexões auto-hospedada e, ao mesmo tempo, aproveitar os benefícios, recomendamos avaliar o Amazon RDS Proxy
O RDS Proxy é um proxy de banco de dados totalmente gerenciado e altamente disponível. O RDS Proxy usa agrupamento de conexões para tornar as aplicações mais escaláveis, mais resilientes às falhas do banco de dados e mais seguros.