Depois de criar uma instância de TaurusDB, você pode criar uma instância de proxy. Com o endereço de proxy, as solicitações de gravação são encaminhadas automaticamente para o nó primário, e as solicitações de leitura são encaminhadas para cada nó com base na política de roteamento da instância de proxy, descarregando a pressão de leitura do nó primário.
Esta seção descreve como criar uma instância de proxy para separação de leitura/gravação.
Etapa 1: criar uma instância de proxy
Etapa 2: realizar autenticação de usuário
Etapa 3: verificar regras de grupo de segurança
Etapa 4: usar o endereço de proxy para se conectar à sua instância de TaurusDB
Etapa 5: verificar separação de leitura/gravação
Restrições
Antes de criar uma instância de proxy, você precisa garantir que:
- Você comprou uma instância de TaurusDB.
- Você entendeu as precauções. Para mais detalhes, consulte Precauções.
Procedimento
Etapa 1: criar uma instância de proxy
- Faça logon no console de gerenciamento.
- Clique em
no canto superior esquerdo e selecione uma região e um projeto.
- Clique em
no canto superior esquerdo da página e escolha Databases > TaurusDB.
- Na página Instances, clique no nome da instância para acessar a página Basic Information.
- No painel de navegação, escolha Database Proxy.
- Clique em Create Proxy Instance.
- Na caixa de diálogo exibida, configure os parâmetros relacionados.
Tabela 1 Descrição do parâmetro
Parâmetro |
Descrição |
Proxy Instance Name |
O nome pode consistir de 4 a 64 caracteres e deve começar com uma letra. Somente letras (diferenciando maiúsculas de minúsculas), dígitos, hifens (-) e sublinhados (_) são permitidos. |
Proxy Mode |
Você pode selecionar Read/Write ou Read-only, conforme necessário.
- Read/Write: todas as solicitações de gravação são encaminhadas apenas para o nó primário, e todas as solicitações de leitura são encaminhadas para os nós selecionados com base nos pesos de leitura ou nas conexões ativas. O peso de leitura padrão de um nó é 100.
- Read-only: solicitações de gravação não são encaminhadas para nenhum nó. Todas as solicitações de leitura são encaminhadas para as réplicas de leitura selecionadas com base nos pesos de leitura ou nas conexões ativas. As solicitações de leitura não são encaminhadas para o nó primário, mesmo que o nó primário seja selecionado.
NOTA:
- No modo somente leitura, somente solicitações de leitura são suportadas. Se as solicitações de gravação forem encaminhadas para os nós selecionados, uma mensagem de erro será exibida.
- As operações DDL, DML e de tabela temporária não são compatíveis com o modo somente leitura.
|
Consistency Level |
O nível de consistência só pode ser configurado quando a versão do kernel da instância de TaurusDB for 2.0.28.1 ou posterior.
Valor:
- Eventual consistency
Depois que uma instância de proxy é criada, as solicitações de operações SELECT são roteadas para diferentes nós com base em seus pesos de leitura. Como há uma latência de replicação entre o nó primário e cada réplica de leitura e a latência de replicação varia para diferentes réplicas de leitura, o resultado retornado por cada instrução SELECT pode ser diferente quando você executa repetidamente uma instrução SELECT dentro de uma sessão. Neste caso, apenas a consistência eventual é garantida.
Para descarregar as solicitações de leitura do nó primário para as réplicas de leitura, você pode selecionar a consistência eventual.
- Session consistency
Para eliminar inconsistências de dados causadas por consistência eventual, a consistência da sessão é fornecida. A consistência da sessão garante que o resultado retornado por cada instrução SELECT em uma sessão seja os dados que foram atualizados após a última solicitação de gravação.
Para usar a consistência da sessão, a versão do kernel da instância de proxy deve ser 2.7.4.0 ou posterior.
|
Routing Policy |
Valor:
Para obter mais informações sobre políticas de roteamento, consulte Modificação da política de roteamento de uma instância de proxy. |
Proxy Instance Specifications |
Você pode selecionar as especificações da instância de proxy conforme necessário.
- Kunpeng general computing-plus: 2 vCPUs | 4 GB, 4 vCPUs | 8 GB e 8 vCPUs | 16 GB
- General-enhanced: 2 vCPUs | 4 GB, 4 vCPUs | 8 GB e 8 vCPUs | 16 GB
|
Subnet |
Para especificar esse parâmetro, envie uma solicitação escolhendo Service Tickets > Create Service Ticket no canto superior direito do console de gerenciamento.
Ao criar uma instância de proxy, você pode especificar uma sub-rede para a instância de proxy. Se a sub-rede à qual a instância de TaurusDB está vinculada for um bloco CIDR secundário, você só poderá selecionar a mesma sub-rede que a instância de TaurusDB para a instância de proxy. |
Proxy Instance Nodes |
Você pode inserir um número inteiro de 2 a 16. O valor padrão é 2.
Número de nós de instância de proxy recomendados = (Número de vCPUs do nó primário + Número total de vCPUs de todas as réplicas de leitura)/(4 x Número de vCPUs da instância de proxy), arredondado para cima. |
Associate New Nodes |
Depois que a opção Associate New Nodes for habilitada, novas réplicas de leitura serão automaticamente vinculadas à instância de proxy. |
New Node Weight |
Se Routing Policy for Weighted, você precisará definir pesos de leitura dos novos nós. O peso padrão de um nó é 100. Os nós com pesos mais altos processam mais solicitações de leitura. |
Database Nodes |
Você precisa selecionar os nós a serem vinculados à instância de proxy para processar solicitações de leitura.
- Se Routing Policy for Load balancing, não será necessário configurar pesos de leitura para os nós selecionados. As solicitações de leitura são encaminhadas para nós com menos conexões ativas.
- Se Routing Policy for Weighted, você precisará configurar pesos de leitura do nó primário e réplicas de leitura. As solicitações de leitura são encaminhadas para os nós com base nos pesos que você especificar.
Por exemplo, pesos de leitura atribuídos a um nó primário e duas réplicas de leitura são 100, 200 e 200, respectivamente.
No modo de leitura/gravação, o nó primário e duas réplicas de leitura processam solicitações de leitura na proporção de 1:2:2. O nó primário processa 20% das solicitações de leitura e cada réplica de leitura processa 40% das solicitações de leitura. As solicitações de gravação são roteadas automaticamente para o nó primário.
No modo somente de leitura, o peso de leitura do nó primário não tem efeito e as duas réplicas de leitura processam 50% das solicitações de leitura, respectivamente.
|
- Clique em OK.
- Visualize a instância de proxy e os nós vinculados.
Após a conclusão da criação da instância de proxy, você poderá exibir a instância de proxy criada na página Database Proxy.
Figura 1 Visualização da instância de proxy criada
Clique em Basic Information no painel de navegação. Clique em
no canto superior direito da página e selecione View Instance Topology. Na topologia da instância, você pode exibir os nós do banco de dados vinculados à instância de proxy. Você pode mover o ponteiro para um nome de nó para exibir seus detalhes.
Figura 2 Exibição de informações sobre nós vinculados a uma instância de proxy
Etapa 2: realizar autenticação de usuário
Antes de usar uma instância de proxy para se conectar à sua instância de TaurusDB, verifique se a conta de banco de dados atual tem as permissões para acessar o endereço de proxy, ou a instância de proxy não pode se conectar à sua instância de TaurusDB.
Você pode executar as seguintes etapas para verificar as permissões e conceder à conta as permissões para acessar o endereço de proxy.
- Conecte-se à instância de TaurusDB.
Para mais detalhes, consulte Conexão a uma instância de BD.
- Depois que a instância for conectada, execute a seguinte instrução SQL para verificar se o host da conta de banco de dados atual contém um endereço de proxy:
SELECT user,host FROM mysql.user;

Para obter o endereço do proxy:
Clique no nome da instância de TaurusDB. No painel de navegação, escolha
Database Proxy. Na lista de instâncias de proxy, visualize o endereço do proxy.
Figura 3 Visualização de um endereço de proxy
- Se o host não contiver o bloco CIDR ao qual a instância de proxy está vinculada, atribua as permissões de acesso remoto ao host.
Por exemplo, se você quiser se conectar à instância de TaurusDB usando 192.168.0 como usuário root, defina Host como 192.168.% na página de gerenciamento de usuários do DAS. Para obter detalhes, consulte Edição de um usuário.
Figura 4 Configuração de um endereço IP de host
Etapa 3: verificar regras de grupo de segurança
Você precisa garantir que as regras de entrada e saída permitam o acesso do endereço de proxy. O número da porta padrão é 3306.
- Faça logon no console de gerenciamento.
- Clique em
no canto superior esquerdo e selecione uma região e um projeto.
- Clique em
no canto superior esquerdo da página e escolha Databases > TaurusDB.
- Na página Instances, clique no nome da instância para acessar a página Basic Information.
- Na área Network Information, clique no nome do grupo de segurança no campo Security Group.
- Na guia Inbound Rules, verifique se o acesso pela porta 3306 é permitido por padrão.
Figura 5 Permitir o acesso por meio da porta 3306
Se não houver tal regra, clique em Fast-Add Rule. Na caixa de diálogo exibida, selecione MySQL (3306) e clique em OK.
Figura 6 Adição rápida da porta 3306
Etapa 4: usar o endereço de proxy para se conectar à sua instância de TaurusDB
- Visualize o endereço e a porta do proxy no console de TaurusDB.
Clique no nome da instância de TaurusDB. No painel de navegação, escolha Database Proxy. Na lista de instâncias de proxy, visualize o endereço e a porta do proxy.
Figura 7 Visualização de um endereço e porta de proxy
- Efetue logon em um ECS.
Para obter detalhes, consulte Guia de usuário do Elastic Cloud Server.
- Execute o seguinte comando para se conectar à instância de TaurusDB usando o endereço de proxy:
mysql -h <hostIP> -P <port> -u <userName> -p <password>
Tabela 2 Descrição do parâmetro
Parâmetro |
Descrição |
<hostIP> |
Endereço de proxy obtido em 1. |
<port> |
Porta obtida em 1. |
<userName> |
Nome de usuário, ou seja, a conta de administrador do banco de dados de TaurusDB. O valor padrão é root. |
<password> |
Senha do administrador do banco de dados de TaurusDB. |
Etapa 5: verificar separação de leitura/gravação
Após a conclusão de cada operação de leitura, você pode executar o comando show last route para exibir o resultado do roteamento da operação de leitura.
O seguinte é um exemplo.
- Depois que a instância de TaurusDB for conectada, execute uma operação de leitura.
Exemplo: select 1;

- Execute o seguinte comando para exibir o resultado do roteamento da operação de leitura em 1:
show last route
Figura 8 Visualização de um resultado de consulta
Não use show last route para código de serviço ou execução de várias instruções.