Você pode definir diferentes configurações de conexão para cada endpoint do proxy de banco de dados para oferecer suporte a casos de uso como divisão de leitura e gravação ou tratamento de solicitações de leitura de alta concorrência. Isso permite que suas aplicações se conectem a uma instância do ApsaraDB RDS for PostgreSQL com configurações adaptadas às necessidades específicas do seu negócio.
Pré-requisitos
O recurso de proxy de banco de dados está ativo. Para obter mais informações, consulte ative o proxy de banco de dados.
Notas de uso
Certifique-se de criar uma instância somente leitura. Se não houver instâncias somente leitura, ative o proxy de banco de dados, mas não configure as definições de conexão para seus endpoints. Para criar uma instância, consulte crie uma instância do ApsaraDB RDS for PostgreSQL somente leitura.
Procedimento
acesse a página Instâncias. Na barra de navegação superior, selecione a região em que a instância RDS está localizada. Em seguida, localize a instância RDS e clique em seu ID.
No painel de navegação à esquerda, clique em Database Proxy.
Na seção Connection Information, localize o Proxy Endpoint (Terminal) ID de destino e clique em Modify Configuration na coluna Actions.
-
Na caixa de diálogo exibida, modifique as configurações de conexão do endpoint do proxy de banco de dados conforme as necessidades do seu negócio.
Parâmetro
Descrição
Connection Description
Uma descrição personalizada para o endpoint do proxy de banco de dados. A descrição pode ter até 30 caracteres.
Read/Write Attributes
Define como as solicitações de leitura e gravação são roteadas.
Read/Write (Read/Write Splitting) (Padrão): Conecta-se à instância primária e às suas instâncias somente leitura. Este endpoint pode receber solicitações de gravação.
Read-only (Primary Instance Not Connected to Receive Write Requests): Conecta-se apenas às instâncias somente leitura e não recebe solicitações de gravação.
NotaApós modificar os atributos de leitura e gravação, as alterações se aplicam apenas a novas conexões. As conexões existentes não são afetadas e mantêm suas configurações originais. Para saber mais, consulte What is read/write splitting? e defina os atributos de leitura e gravação e os pesos de leitura.
É necessário crie uma instância PostgreSQL somente leitura antes de definir os atributos de leitura e gravação e usar o recurso de divisão de leitura e gravação.
Latency Threshold
A latência máxima de replicação permitida quando uma instância somente leitura sincroniza dados da instância primária. Valores válidos: 0 a 3.600 segundos.
Atrasos de replicação podem ocorrer em instâncias somente leitura dependendo do desempenho de execução de SQL. Recomendamos definir esse valor como no mínimo 30 segundos.
NotaEste parâmetro está disponível apenas quando os Read/Write Attributes estão definidos como Read/Write (Read/Write Splitting).
Se o atraso de replicação de uma instância somente leitura exceder este limiar, o proxy de banco de dados deixa de encaminhar solicitações de leitura para essa instância, independentemente do peso de leitura atribuído a ela.
Transaction Splitting
Esse recurso está sempre ativado. A divisão de transações encaminha para instâncias somente leitura as solicitações de leitura que ocorrem dentro de uma transação antes de qualquer operação de gravação. Isso ajuda a reduzir a carga na instância primária.
NotaPara uma explicação detalhada desse recurso, consulte Transaction splitting.
Read Weight Allocation
Especifica como os pesos de leitura são alocados para as instâncias:
Automatic: O sistema atribui automaticamente um peso de leitura a cada instância com base em suas especificações. Ao adicionar uma nova instância somente leitura, ela é adicionada automaticamente ao pool de divisão de leitura e gravação com um peso atribuído pelo sistema. Nenhuma configuração manual é necessária. Para obter mais detalhes, consulte Default read weight allocation rules.
Custom: defina manualmente o peso de leitura de cada instância. O valor pode variar de 0 a 10.000. Ao adicionar uma nova instância somente leitura, o peso de leitura padrão dela é 0. Depois, altere esse peso manualmente.
NotaQuanto maior o peso de leitura de uma instância, mais solicitações de leitura ela processa. Por exemplo, suponha que uma instância primária tenha três instâncias somente leitura. Se a instância primária tiver um peso de leitura de 0 e as instâncias somente leitura tiverem pesos de 100, 200 e 200, a instância primária não processará nenhuma solicitação de leitura. As solicitações de gravação continuam sendo roteadas para ela automaticamente. As três instâncias somente leitura processam solicitações de leitura na proporção de
1:2:2.As alterações nesse parâmetro entram em vigor imediatamente sem causar interrupções transitórias. As conexões existentes não são afetadas e continuam usando a distribuição de peso anterior.
Quando uma instância somente leitura é liberada, o peso dela é removido automaticamente.
Se uma instância falhar ou o atraso de replicação dela exceder o limiar, o peso é removido automaticamente. O peso é restaurado automaticamente após a recuperação da instância.
Adicione a dica
/FORCE_MASTER/à sua instrução SQL:/*FORCE_MASTER*/ SELECT * FROM table_name;Para rotear explicitamente uma solicitação de leitura para uma instância somente leitura, use
/FORCE_SLAVE/.
clique em OK.
Tópicos relacionados
APIs relacionadas
|
API |
Descrição |
|
Consulta os detalhes de um proxy de banco de dados. |
|
|
Consulta os detalhes de um endpoint do proxy de banco de dados. |
|
|
Modifica as configurações de conexão de um endpoint do proxy de banco de dados. |