Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Verify read/write splitting

Última atualização: Oct 09, 2026

Este tópico descreve como verificar a separação de leitura e gravação em uma instância do ApsaraDB RDS for MySQL que executa a RDS High-availability Edition. Neste tópico, uma instância do Elastic Compute Service (ECS) conecta-se à instância RDS por uma rede interna.

Pré-requisitos

  • Uma instância RDS primária que executa a RDS High-availability Edition foi criada.

  • Uma instância RDS somente leitura foi criada para a instância RDS primária.

  • Primeiro, crie pelo menos um banco de dados que contenha ao menos uma tabela na instância RDS. Além disso, crie também uma conta de teste para a instância RDS. A conta de teste pode ser padrão ou privilegiada. Para mais informações, consulte crie contas e bancos de dados.

    Nota
    • Ao criar uma conta padrão, conceda a ela as permissões Read/Write (DDL + DML) no banco de dados desejado.

    • Neste exemplo, são criados um banco de dados chamado testdb01, uma tabela chamada products e uma conta de teste chamada cxx1.

  • Uma lista de permissões de endereços IP foi configurada para a instância RDS.

  • A instância ECS conectada à instância RDS reside na mesma Virtual Private Cloud (VPC) que a instância RDS. O cliente MySQL está instalado na instância ECS.

  • O recurso de proxy de banco de dados está ativado para a instância RDS.

  • O recurso SQL Explorer and Audit está ativado para a instância RDS.

Informações de contexto

A capacidade de separação de leitura e gravação do recurso de proxy de banco de dados encaminha solicitações de gravação para a instância RDS primária e solicitações de leitura para a instância RDS somente leitura para implementar a separação automática de leitura e gravação. Isso alivia a carga de solicitações de leitura da instância RDS primária. Primeiro, ative e configure o recurso de proxy de banco de dados e execute as operações deste tópico para verificar se as solicitações de leitura e gravação são encaminhadas com base nos pesos de leitura especificados.

Processo de verificação

Neste exemplo, uma instância ECS conecta-se à instância RDS por uma rede interna para verificar a eficácia da separação de leitura e gravação. Execute as seguintes etapas:

  1. No console do ApsaraDB RDS, defina o peso da instância RDS somente leitura como um múltiplo de 100 e o peso da instância RDS primária como 0. Essas configurações garantem que todas as solicitações de leitura sejam encaminhadas para a instância RDS somente leitura. Neste exemplo, o peso da instância RDS somente leitura é definido como 10000 e o da instância RDS primária como 0.

  2. Use a conta de teste para conectar a instância ECS à instância RDS usando o endpoint de proxy de banco de dados e execute operações de leitura e gravação.

  3. Na página SQL Explorer and Audit do console do ApsaraDB RDS, visualize os registros das instruções SQL executadas na instância RDS primária e na instância RDS somente leitura.

  4. Verifique nos registros de execução das instruções SQL se a instância RDS somente leitura processou as solicitações de leitura. Confirme também se a instância primária processou as solicitações de gravação para validar a separação de leitura e gravação.

Procedimento

  1. Especifique os pesos de leitura.

    1. Faça logon no console do ApsaraDB RDS e acesse a página Instances. Na barra de navegação superior, selecione a região da instância RDS primária. Em seguida, localize a instância RDS primária e clique no ID da instância.

    2. No painel de navegação à esquerda, clique em Database Proxy. Na seção Connection Information, localize o ID do endpoint de proxy desejado.

    3. Na coluna Actions do endpoint de proxy desejado, clique em Modify Configuration.

    4. Na caixa de diálogo exibida, configure os seguintes parâmetros:

      • Defina Read/Write Attributes como Read/Write (Read/Write Splitting).

      • Em Read Weight Allocation, selecione Custom. Defina o peso da instância somente leitura como 10000 e o peso da instância primária como 0. Em seguida, clique em OK.

    5. Na seção Connection Information, obtenha o endpoint de proxy do tipo VPC.

  2. Use a conta de teste cxx1 para conectar a instância ECS ao banco de dados e, em seguida, execute operações de leitura.

    1. Faça logon na instância ECS que você deseja conectar à instância RDS.

      Nota

      Para mais informações sobre como fazer logon em uma instância ECS, consulte Connect to an instance.

    2. Execute o seguinte comando para conectar a instância ECS à instância RDS:

      mysql -hProxy endpoint -PPort number -uUsername -pPassword

      A tabela a seguir descreve os parâmetros usados no comando anterior.

      Parâmetro

      Descrição

      Configuração

      Proxy Endpoint

      O endpoint de proxy do tipo VPC-type obtido em Step 1.

      Se você usar um cliente para se conectar à instância RDS, use um endpoint de proxy public.

      P

      O número da porta. Após a letra P maiúscula, insira o número da porta.

      N/D.

      -u

      O nome de usuário. Após a letra u, insira o nome de usuário.

      N/D.

      p

      A senha. Após a letra p minúscula, insira a senha.

      Insira a senha após -p. Não são permitidos espaços.

      Você também pode inserir a senha após executar o comando, em vez de digitá-la após -p antes da execução. Isso ajuda a evitar que a senha seja exibida em texto simples.

    3. Execute o seguinte comando para acessar o banco de dados testdb01:

      USE testdb01;
    4. Execute as instruções SQL para operações de leitura seis vezes. Exemplo de instrução:

      SELECT * FROM products LIMIT 20;
  3. Execute as instruções SQL para operações de gravação no banco de dados testdb01 três vezes. Exemplo de instrução:

    Nota

    Na etapa anterior, você conectou a instância ECS à instância RDS e acessou o banco de dados testdb01. Para mais informações, consulte Step 2.

    CREATE TABLE Products11 (
     prod_id CHAR(10) NOT NULL,
     vend_id CHAR(10) NOT NULL,
     prod_name CHAR(254) NOT NULL,
     prod_price DECIMAL(8,2) NOT NULL,
     prod_desc VARCHAR(1000) NULL
    );                               
  4. Visualize os registros das instruções SQL executadas na instância RDS primária e na instância RDS somente leitura.

    Além disso, confirme se a instância somente leitura processou todas as consultas SELECT e se a instância primária processou todas as consultas CREATE. Certifique-se de que não haja logs de consultas CREATE na instância somente leitura.

    1. Faça logon no console do ApsaraDB RDS e acesse a página Instances. Na barra de navegação superior, selecione a região da instância RDS primária. Em seguida, localize a instância RDS primária e clique no ID da instância.

    2. No painel de navegação à esquerda da instância primária, escolha Autonomy Services > SQL Explorer and Audit. Selecione um intervalo de tempo e clique em Search. Além disso, confirme se não há logs de execução para a consulta SELECT.

    3. No painel de navegação à esquerda da instância primária, clique em Basic Information. Passe o mouse sobre o número ao lado de Read-only Instance e clique no ID da instância somente leitura na caixa de diálogo exibida.

    4. No painel de navegação à esquerda da instância somente leitura, escolha Autonomy Services > SQL Explorer and Audit. Selecione um intervalo de tempo e clique em Search. Os logs de auditoria SQL mostram seis registros da consulta SELECT * FROM products LIMIT 20. O banco de dados é testdb01, o tipo de operação é SELECT e o status de todas as operações é Success.

    5. No painel de navegação à esquerda da instância primária, escolha Autonomy Services > SQL Explorer and Audit. Selecione um intervalo de tempo e clique em Search. Você pode visualizar três registros de execução do comando CREATE. Por exemplo, esses registros podem corresponder a consultas como CREATE TABLE Products11, CREATE TABLE Products12 e CREATE TABLE Products13. O banco de dados é testdb01 e o status de todas as operações é Success.

Conclusão da verificação

Se você definir o peso da instância RDS somente leitura como 10000 e o da instância RDS primária como 0, a instância RDS primária processará todas as solicitações de gravação e a instância RDS somente leitura processará todas as solicitações de leitura. Dessa forma, a separação de leitura e gravação é implementada.