Configure as definições de conexão de um endpoint de proxy de banco de dados para controlar o roteamento do tráfego de leitura e escrita entre as instâncias primárias e somente leitura. Ajuste cada endpoint independentemente para cenários como divisão de leitura/escrita e cargas de trabalho de leitura com alta concorrência.
Pré-requisitos
Antes de começar, verifique se você:
Ativou o recurso de proxy de banco de dados. Para mais informações, consulte Enable the database proxy feature.
Tem pelo menos uma instância somente leitura associada à sua instância RDS. É possível ativar o proxy de banco de dados sem uma instância somente leitura, mas não é possível configurar as definições de conexão de um endpoint até que exista uma. Para mais informações, consulte Create a read-only ApsaraDB RDS for PostgreSQL instance.
Configurar as definições de conexão
Acesse a página Instances. Na barra de navegação superior, selecione a região da instância RDS e clique em ID da instância.
No painel de navegação à esquerda, clique em Database Proxy.
Na seção Connection Information, localize o endpoint a modificar na coluna Proxy Endpoint (Terminal) ID e clique em Modify Configuration na coluna Actions.
-
Na caixa de diálogo exibida, atualize as definições de conexão conforme necessário.
Parâmetro
Descrição
Connection Description
Descrição personalizada para o endpoint. Máximo de 30 caracteres.
Read/Write Attributes
Controla quais tipos de instância este endpoint pode alcançar. Consulte Choose read/write attributes para obter orientações.
Latency Threshold
Latência máxima (em segundos) permitida para replicação de dados da instância RDS primária para as instâncias RDS somente leitura antes que o proxy pare de encaminhar leituras para uma instância somente leitura. Valores válidos: 0–3600. Defina como 30 ou superior. Disponível apenas quando Read/Write Attributes estiver definido como Read/Write (Read/Write Splitting).
Transaction Splitting
Fixo como Enabled. Encaminha solicitações de leitura anteriores a operações de escrita em uma transação para instâncias somente leitura, reduzindo a carga na instância primária. Não pode ser desativado.
Read Weight Allocation
Determina a distribuição do tráfego de leitura. Consulte Configurar alocação de peso de leitura para detalhes.
Clique em OK.
Escolher atributos de leitura/escrita
Use esta tabela para selecionar o modo adequado à sua carga de trabalho:
|
Cenário |
Opção recomendada |
Motivo |
|
Tráfego geral de aplicações, OLTP, jobs ETL |
Read/Write (Read/Write Splitting) |
O endpoint conecta-se à instância primária e a todas as instâncias somente leitura, aceitando solicitações de leitura e escrita. Este é o valor padrão. |
|
Consultas de relatórios, análises, cargas intensivas de leitura |
Read-only (Primary Instance Not Connected to Receive Write Requests) |
O endpoint conecta-se apenas a instâncias somente leitura e rejeita solicitações de escrita, isolando a carga analítica da instância primária. |
Alterações em Read/Write Attributes aplicam-se apenas a novas conexões. Conexões existentes não são afetadas.
Configurar alocação de peso de leitura
Automatic — O proxy atribui pesos de leitura com base nas especificações das instâncias. Novas instâncias somente leitura são adicionadas automaticamente ao link de divisão de leitura/escrita, sem necessidade de configuração manual. Para valores de peso padrão, consulte Default read weights.
Custom — Especifique um peso de leitura para cada instância somente leitura. Valores válidos: 0–10000. Novas instâncias somente leitura recebem peso 0 por padrão e devem ser atualizadas manualmente.
Um peso maior direciona mais solicitações de leitura para essa instância. Por exemplo, se a instância primária tiver peso de leitura 0 e três instâncias somente leitura tiverem pesos 100, 200 e 200, a instância primária processará apenas solicitações de escrita, enquanto as solicitações de leitura serão distribuídas na proporção de 1:2:2.
Para forçar o direcionamento de uma solicitação específica para um tipo de instância determinado, independentemente dos pesos configurados, adicione uma dica SQL:
Roteamento para a instância primária:
/*FORCE_MASTER*/ SELECT * FROM table_name;Roteamento para uma instância somente leitura:
/*FORCE_SLAVE*/ SELECT * FROM table_name;
Quando as alterações entram em vigor
|
Parâmetro |
Novas conexões |
Conexões existentes |
|
Read/Write Attributes |
Entra em vigor imediatamente |
Não afetadas; conexões existentes mantêm a configuração anterior |
|
Read Weight Allocation |
Entra em vigor imediatamente; sem quedas transitórias de conexão |
Continuam usando os pesos anteriores até serem reconectadas |
Após a liberação de instâncias RDS somente leitura, os pesos de leitura tornam-se automaticamente inválidos.
Se sua instância RDS falhar ou a latência de replicação de dados exceder o limiar especificado, os pesos de leitura tornam-se automaticamente inválidos. Quando a instância RDS voltar a operar normalmente, os pesos de leitura serão revalidados.
Próximos passos
Referência de API
|
Operação |
Descrição |
|
Consulta os detalhes de um proxy de banco de dados. |
|
|
Consulta o endpoint de um proxy de banco de dados. |
|
|
Modifica as definições de conexão de um endpoint de proxy de banco de dados. |