Todos os produtos
Search
Central de documentação

ApsaraDB RDS:FAQ about the database proxy

Última atualização: Jun 26, 2026

Esta página responde às perguntas mais comuns sobre o recurso de database proxy do ApsaraDB RDS for PostgreSQL.

O que é um database proxy?

Um database proxy é um proxy de rede posicionado entre sua aplicação e sua instância do RDS para encaminhar todas as requisições. Ele oferece divisão de leitura/gravação e divisão de transações automaticamente, sem alterações no código da aplicação. O proxy opera em uma arquitetura de alta disponibilidade e, portanto, não introduz um ponto único de falha.

Para uma visão geral do recurso, consulte O que são database proxies?

Qual é a diferença entre database proxies de uso geral e dedicados?

  • Uso geral: Recursos físicos de CPU compartilhados, fornecidos gratuitamente. Especificação máxima: 16 núcleos de CPU (8 proxies).

  • Dedicado: Recursos físicos de CPU alocados exclusivamente, cobrados com base em pagamento conforme o uso. Especificação máxima: 32 núcleos de CPU (16 proxies).

Opte por proxies dedicados quando precisar de desempenho estável e previsível e sua carga de trabalho não puder tolerar contenção de recursos de outros tenants.

Para detalhes de preços, consulte Regras de faturamento para o recurso de database proxy.

Como é calculada a especificação do database proxy?

Cada unidade de proxy contribui com 2 núcleos de CPU. A especificação total é:

Proxy specification = 2 CPU cores × number of database proxies

Por exemplo, 3 proxies resultam em uma especificação de 6 núcleos (2 × 3 = 6).

Para dimensionar seus proxies corretamente, utilize as fórmulas abaixo:

Tipo de proxy

Fórmula

Máximo

Uso geral

(Primary CPU cores + all read-only CPU cores) / 4, arredondado para cima

16 núcleos de CPU

Dedicado

(Primary CPU cores + all read-only CPU cores) / 8, arredondado para cima

32 núcleos de CPU

Exemplo: Uma instância primária com 8 núcleos de CPU e uma instância somente leitura com 4 núcleos de CPU resulta em (8 + 4) / 8 = 1.5, arredondado para 2 proxies dedicados, totalizando uma especificação de 4 núcleos de CPU.

Adicionar mais endpoints de database proxy melhora o desempenho?

Não. A quantidade de endpoints de proxy não afeta o desempenho do proxy. O desempenho depende de:

  • Número de instâncias somente leitura — mais instâncias somente leitura processam mais requisições de leitura.

  • Quantidade de proxies — mais proxies aumentam o throughput geral.

  • Especificação do proxy — uma especificação mais alta representa maior capacidade de processamento.

A quantidade de endpoints de proxy depende do número de proxies?

Não, esses dois parâmetros são independentes. Cada instância RDS for PostgreSQL com o proxy ativado suporta até 7 endpoints de database proxy, independentemente de quantos proxies estejam configurados. Cada endpoint pode ter um endpoint interno e um endpoint público.

Para instruções de configuração, consulte Criar um endpoint de database proxy.

O database proxy consome o QPS ou TPS da instância?

Não. O proxy opera de forma independente e não consome as queries por segundo (QPS) nem as transações por segundo (TPS) da instância RDS primária.

Qual é a diferença entre um endpoint de database proxy e um endpoint comum?

Um endpoint comum encaminha todas as requisições para a mesma instância do RDS. Já um endpoint de database proxy roteia automaticamente as requisições de gravação para a instância RDS primária e as requisições de leitura para instâncias somente leitura, com base no tipo de instrução SQL. Isso reduz a carga na instância primária sem exigir lógica de roteamento na aplicação.

Ativar o database proxy remove os endpoints originais?

Não. Os endpoints originais das instâncias primária e somente leitura continuam disponíveis após a ativação do database proxy. Continue usando-os diretamente, se necessário.

O que acontece quando um nó do proxy falha?

O proxy opera em uma arquitetura de alta disponibilidade com dois nós primários, distribuindo conexões em uma proporção de 1:1. Se um nó falhar, o outro assume imediatamente e o sistema aciona automaticamente uma tarefa de restauração no nó com falha.

O database proxy suporta connection pooling?

Não. Os database proxies do ApsaraDB RDS for PostgreSQL não suportam connection pooling. O número máximo de conexões que podem ser estabelecidas com um database proxy é ilimitado. Esse número é determinado pelo menor valor entre o limite de conexões da instância primária e o limite das instâncias somente leitura.

Por exemplo, se a instância primária suporta 1.600 conexões e as instâncias somente leitura suportam 800, o proxy suportará 800 conexões.

Para consultar os limites de conexão de tipos de instância específicos, acesse Tipos de instância para instâncias primárias do ApsaraDB RDS for PostgreSQL e Tipos de instância para instâncias somente leitura do ApsaraDB RDS for PostgreSQL.

Posso modificar o prefixo ou a porta de um endpoint de database proxy?

Sim. Modifique o prefixo e a porta de qualquer endpoint de database proxy.

Para instruções, consulte Gerenciar endpoints de database proxy.

Como forçar uma requisição de leitura a ser direcionada para a instância primária?

Adicione a hint /*FORCE_MASTER*/ à sua instrução SQL:

/*FORCE_MASTER*/ SELECT * FROM table_name;

Para rotear explicitamente uma requisição de leitura para uma instância somente leitura, utilize /*FORCE_SLAVE*/.

Atualizei os pesos de leitura, mas a alteração não está sendo aplicada. Por quê?

As alterações de peso de leitura se aplicam apenas a novas conexões. As conexões existentes não são reestabelecidas e mantêm os pesos antigos até serem encerradas e reconectadas. Para aplicar os novos pesos imediatamente, encerre as conexões existentes e permita que a aplicação se reconecte.

Com que rapidez o proxy se recupera após uma falha na instância do RDS?

O proxy monitora continuamente a integridade das instâncias e detecta falhas em até 2 segundos. Assim que a instância se recupera, o proxy retoma o roteamento de tráfego imediatamente — a aplicação não precisa se reconectar nem tratar nenhuma lógica de recuperação.

Como encontrar o VPC ID e o vSwitch ID para um endpoint interno do tipo VPC?

Na página Database Proxy, acesse a seção Connection Information. Localize o endpoint interno e posicione o ponteiro sobre o ícone image.png na coluna Internal Endpoint/Port.