Este artigo apresenta as precauções sobre o proxy de banco de dados do MySQL no banco de dados em nuvem.
Ao usar o endereço de conexão do proxy, se a divisão de transações não estiver ativada, todas as solicitações de transação serão roteadas para a instância primária.
A configuração do proxy de banco de dados suporta zonas de disponibilidade entre regiões. A quantidade de zonas de disponibilidade selecionáveis está relacionada à quantidade disponível na região atual, suportando a seleção de no máximo três zonas de disponibilidade. Quando a quantidade de zonas de disponibilidade selecionáveis é um, isso indica que existe apenas uma zona de disponibilidade disponível na região atual.
Pode criar múltiplos endereços de acesso do proxy de banco de dados, cuja quantidade é igual ao número de nós do proxy de banco de dados. Ou seja, quantos nós houver, tantos endereços de acesso do proxy de banco de dados podem ser criados.
Ao usar o endereço de conexão do proxy para separação de leitura/gravação, não é garantida a consistência de leituras não transacionais. Se a consistência de leitura for necessária na aplicação, é possível encapsular a operação na transação ou utilizar a sintaxe Hint.
When a proxy connection address is used, show processlist will merge the results of all nodes before returning them.
For the PREPARE statement, the database proxy will first send PREPARE to all nodes. When a subsequent EXECUTE request comes in, it will determine the execution route according to the prepared statement type. For example, if a write statement is prepared, it will send the statement to the source database during execution, and if a non-transactional read statement is prepared, it will send the statement to a read-only instance.
Quando as conexões de negócios chegam ao proxy de banco de dados, ele se conecta à instância primária e a todas as instâncias somente leitura configuradas. O próprio proxy de banco de dados não possui limitação máxima de conexões, sendo esse limite determinado principalmente pelo número máximo de conexões das instâncias de banco de dados de backend (o valor mínimo do número máximo de conexões das instâncias primárias e somente leitura afetará o desempenho do negócio).
After the database proxy is enabled, when a read-only instance is added or restarted, only new connection requests will be routed to it. You can view the performance metrics of each proxy node through the overview or performance monitoring as described in Viewing Database Proxy Monitoring Data. If you find that the numbers of connections on the nodes are unbalanced, you can distribute the connections through rebalancing. Versões suportadas para diferentes funcionalidades do proxy de banco de dados:
Certifique-se de que a versão do proxy seja 1.3.1 ou superior para a funcionalidade entre zonas de disponibilidade.
Para o limiar de retenção de conexão, certifique-se de que a versão do proxy seja 1.2.1 ou superior.
Para a funcionalidade de pool de conexões, certifique-se de que a versão do proxy seja 1.3.12 ou superior.
Para a capacidade de divisão de transações, certifique-se de que a versão do proxy seja 1.3.1 ou superior.
Para a funcionalidade de novo endereço de conexão, certifique-se de que a versão do proxy seja 1.3.1 ou superior.
Para gerenciar o motor de análise somente leitura, certifique-se de que a versão do proxy seja 1.3.15 ou superior.
Após conectar ao proxy de banco de dados usando o driver JDBC mysql-connector-j-8.0.32.jar, as conexões travam ao utilizar prepare. Portanto, não recomendamos o uso da versão mysql-connector-j-8.0.32.jar do driver JDBC para conexão com o proxy de banco de dados. Recomendamos utilizar a versão mysql-connector-j-8.0.33.jar. Isso está relacionado a um Bug oficial do MySQL. Para detalhes, consulte Bug#109864.