O recurso de proxy de banco de dados do ApsaraDB RDS for MySQL fica entre a sua aplicação e o seu banco de dados, interceptando todas as conexões e requisições. Ele fornece a separação de leitura e escrita para distribuir a carga entre as instâncias, mantém conexões persistentes durante eventos de operação e manutenção (O&M), como switchovers, e criptografa a transmissão de dados com SSL.
Quando usar o proxy de banco de dados
Ative o proxy de banco de dados quando a sua implantação do RDS apresentar qualquer um dos seguintes sintomas:
Excesso de conexões ou alta carga de CPU: A instância primária do RDS está sobrecarregada por um grande número de conexões simultâneas ou requisições com muitas transações.
Sobrecarga por conexões de curta duração frequentes: A maioria das cargas de trabalho usa conexões de curta duração (por exemplo, aplicações PHP), o que causa um custo excessivo de reconexão.
Carga de trabalho com muitas leituras sobrecarregando a instância primária: As requisições de leitura precisam ser distribuídas para instâncias somente leitura para aliviar a pressão na instância primária do RDS.
Interrupções na aplicação durante switchovers ou failovers: As aplicações perdem conexões quando ocorrem eventos de O&M, como switchovers ou failovers de instância.
Isolamento de leitura e escrita entre aplicações: Diferentes aplicações precisam de roteamento fisicamente isolado, com cargas de trabalho somente leitura roteadas separadamente das cargas de trabalho de leitura e escrita.
Por exemplo, se o seu sistema de banco de dados tiver uma instância primária do RDS e quatro instâncias somente leitura do RDS atendendo a duas aplicações: vincule duas instâncias somente leitura a um endpoint de proxy com o atributo Read-only para a Aplicação A (tráfego somente leitura) e vincule a instância primária e as outras duas instâncias somente leitura a um endpoint de proxy separado com o atributo Read/Write para a Aplicação B (tráfego de leitura e escrita). As duas aplicações ficam fisicamente isoladas dentro do mesmo sistema de banco de dados.
Conceitos principais
Endpoint do proxy de banco de dados
Os endpoints do proxy de banco de dados são o núcleo do recurso de proxy de banco de dados. Cada instância do RDS com o proxy de banco de dados ativado suporta até sete endpoints de proxy. Para cada endpoint, solicite um endpoint interno e um endpoint público e configure as definições de conexão por endpoint para atender a diferentes requisitos de negócios.
Para obter mais informações, consulte configure as definições de conexão para um endpoint de proxy de banco de dados e Conexão com o banco de dados.
Separação de leitura e escrita
Os endpoints de proxy roteiam automaticamente as requisições de escrita para a instância primária do RDS e as requisições de leitura para as instâncias somente leitura. Sem a separação de leitura e escrita, cargas de trabalho com muitas leituras podem sobrecarregar a instância primária e interromper o serviço.
Para obter mais informações, consulte O que é a separação de leitura e escrita?
Conexões persistentes
Quando uma operação de O&M aciona um switchover, as aplicações conectadas por meio de endpoints de proxy permanecem conectadas e nenhum erro de desconexão é relatado.
Para obter mais informações, consulte configure definições de conexão persistente.
Separação de transações
A separação de transações é ativada automaticamente em todos os proxies de banco de dados. As requisições de leitura que ocorrem antes de uma operação de escrita dentro de uma transação são encaminhadas para instâncias somente leitura, o que reduz a carga na instância primária do RDS.
Para obter mais informações, consulte Separação de transações.
Pool de conexões
O pool de conexões reduz a sobrecarga de novas conexões frequentes e o excesso de conexões de curta duração. Isso é eficaz para cargas de trabalho que abrem e fecham conexões em alta frequência, como aplicações PHP.
Para obter mais informações, consulte defina o tipo de pool de conexões.
Acesso mais próximo
Para implantações de proxy em várias zonas, o acesso mais próximo roteia cada aplicação para o nó de proxy na mesma zona. A aplicação, o nó de proxy e a instância somente leitura permanecem na mesma zona, o que reduz significativamente a latência de rede.
Para obter mais informações, consulte configure o recurso de acesso mais próximo.
Criptografia SSL
Ative a criptografia SSL em um endpoint de proxy para proteger a transmissão de dados.
Para obter mais informações, consulte configure a criptografia SSL para um endpoint de proxy dedicado.
Zona
A zona é o local onde residem um nó de proxy e seus endpoints. Implante o proxy de banco de dados, os endpoints de proxy e a instância do RDS na mesma zona para evitar latência entre zonas. Após ativar o proxy de banco de dados, migre os nós de proxy entre zonas, se necessário.
Para obter mais informações, consulte Migrar nós de proxy entre zonas.
Implantação do proxy
O proxy de banco de dados suporta implantação em zona única e em zona dupla:
Implantação em zona única: Todos os nós de proxy estão na mesma zona.
Implantação em zona dupla: Os nós de proxy são distribuídos em duas zonas para recuperação de desastres entre zonas. Nenhuma taxa adicional se aplica.
Modos de implantação
Três modos de implantação estão disponíveis:
Modo de implantação 1

Modo de implantação 2

Modo de implantação 3

|
**Modo de implantação** |
**Zona** |
**Total de nós de proxy** |
**Limite de especificação** |
**Tipo de proxy suportado** |
|
Modo de implantação 1 |
Duas zonas |
4 |
As especificações dos nós de proxy na mesma zona devem corresponder |
Dedicado |
|
Modo de implantação 2 |
Duas zonas |
2 |
As especificações de todos os nós de proxy devem corresponder |
Dedicado e de uso geral |
|
Modo de implantação 3 |
Zona única |
2 |
As especificações dos nós de proxy na mesma zona devem corresponder |
Dedicado e de uso geral |
Após ativar o proxy de banco de dados, modifique o modo de implantação a qualquer momento. Para obter mais informações, consulte modifique configurações do proxy de banco de dados .
Modo e zonas padrão
| Implantação da instância do RDS | Tipo de proxy de banco de dados | Modo de implantação padrão | Zona padrão |
|---|---|---|---|
| Implantação em zona única | Dedicado | Modo de implantação 3 | Mesma zona da instância primária do RDS |
| De uso geral | Modo de implantação 3 | ||
| Implantação em zona dupla | Dedicado | Modo de implantação 1 | Zona 1: mesma zona da instância primária do RDS; Zona 2: mesma zona da instância secundária do RDS |
| De uso geral | Modo de implantação 2 |
Recuperação de desastres
Modo de implantação 1
Falha de nó: O nó com falha para de processar o tráfego. O tráfego é redirecionado para nós de proxy íntegros na mesma zona.
Falha de zona: O tráfego é redirecionado para nós de proxy na zona íntegra. Após a recuperação da zona com falha, o novo tráfego é roteado para o nó de proxy recuperado. As conexões persistentes existentes não são redirecionadas e expiram naturalmente.
Se o acesso mais próximo estiver ativado e ocorrer uma falha no nível da zona, o recurso pode ficar indisponível porque a disponibilidade do serviço tem prioridade sobre a latência de acesso.
Modo de implantação 2
Dois nós de proxy são implantados em duas zonas, portanto, uma falha de nó equivale a uma falha de zona. Quando ocorre uma falha, o tráfego é redirecionado para o nó de proxy na outra zona.
Modo de implantação 3
Falha de nó: O nó com falha para de processar o tráfego. O tráfego é redirecionado para o outro nó de proxy na mesma zona.
Falha de zona: O proxy de banco de dados não pode fornecer o serviço. Aguarde a recuperação da zona ou modifique manualmente o modo de implantação.
Tipos de proxy de banco de dados
O ApsaraDB RDS for MySQL oferece dois tipos de proxy:
De uso geral: Os nós de proxy compartilham recursos físicos de CPU. Gratuito.
Dedicado: Os nós de proxy ocupam exclusivamente os recursos físicos de CPU alocados, o que oferece um desempenho estável e previsível. Faturado com base no pagamento conforme o uso.
A tabela a seguir compara os dois tipos:
| Item | De uso geral | Dedicado |
|---|---|---|
| Método de faturamento | Gratuito | Pagamento conforme o uso. Consulte Regras de faturamento para proxies de banco de dados. |
| Tipo de recurso | Recursos físicos de CPU são compartilhados | Recursos físicos de CPU são ocupados exclusivamente |
| Faixa de especificação (nó de proxy único) | 1 a 8 núcleos de CPU | 1 a 16 núcleos de CPU |
| Instância do RDS | RDS High-availability Edition e Cluster Edition | |
| Modo de implantação | Modos de implantação 2 e 3 | Modos de implantação 1, 2 e 3 |
| Implantação em zona única | Suportado | |
| Implantação em zona dupla | Suportado | |
| Acesso mais próximo | Não suportado | Suportado |
| Separação de leitura e escrita | Suportado | |
| Separação de transações | Suportado | |
| Endpoints de proxy | Até 7 por instância; 1 endpoint interno + 1 endpoint público por endpoint de proxy | |
| Conexões persistentes durante switchovers | Suportado | Suportado |
| Conexões persistentes durante failovers | Não suportado | Suportado |
| Pool de conexões | Suportado | |
| Criptografia SSL | Suportado | |
Cálculo da especificação do proxy : A especificação de um proxy de banco de dados é igual à soma de todas as especificações dos nós de proxy. Por exemplo, com quatro nós dedicados (dois nós com 1 núcleo de CPU na Zona A e dois nós com 2 núcleos de CPU na Zona B), a especificação do proxy é 1 × 2 + 2 × 2 = 6 núcleos de CPU.
Contagem de nós de proxy : O número de nós de proxy é igual à especificação do proxy dividida pela especificação unitária por nó (fixada em 2 núcleos de CPU). Por exemplo, um proxy de 6 núcleos de CPU tem 6 ÷ 2 = 3 nós de proxy.
Notas de uso
Para obter mais informações, consulte Notas de uso de proxies de banco de dados.
Faturamento
Para obter mais informações, consulte Regras de faturamento para proxies de banco de dados.