Tous les produits
Search
Centre de documentation

ApsaraDB RDS:Verify read/write splitting

Dernière mise à jour :Aug 08, 2026

Après avoir activé la répartition lecture/écriture sur une instance ApsaraDB RDS for MySQL (édition Haute Disponibilité), exécutez des requêtes de test via le proxy de base de données et consultez les journaux SQL Explorer et Audit pour confirmer que les requêtes en lecture atteignent l'instance en lecture seule et que les requêtes en écriture atteignent l'instance principale.

Ce guide utilise une instance Elastic Compute Service (ECS) connectée à l'instance RDS via un réseau interne.

Prérequis

Avant de commencer, assurez-vous d'avoir :

Si vous utilisez un compte standard, accordez-lui les autorisations Read/Write (DDL + DML) sur la base de données cible. Ce guide utilise la base de données exemple testdb01, la table products et le compte de test cxx1.

Fonctionnement

Le proxy de base de données intercepte toutes les requêtes envoyées à son endpoint et les achemine selon la configuration des poids de lecture : les opérations d'écriture sont dirigées vers l'instance principale, tandis que les opérations de lecture sont envoyées aux instances en lecture seule selon les poids définis.

En définissant le poids de l'instance en lecture seule sur une valeur non nulle et celui de l'instance principale sur 0, vous forcez tout le trafic de lecture vers l'instance en lecture seule. Cette configuration rend le comportement de routage observable : toute instruction SELECT que vous exécutez n'apparaîtra que dans les journaux SQL Explorer de l'instance en lecture seule, et non dans ceux de l'instance principale.

Étapes de vérification

Étape 1 : Définir les poids de lecture

  1. Connectez-vous à la console ApsaraDB RDS et accédez à la page Instances. Sélectionnez la région de l'instance principale, puis cliquez sur son ID d'instance.

  2. Dans le volet de navigation de gauche, cliquez sur Database Proxy. Dans la section Connection Information, repérez l'endpoint du proxy à configurer.

  3. Cliquez sur Modify Configuration dans la colonne Actions.

  4. Dans la boîte de dialogue, définissez les paramètres suivants, puis cliquez sur OK.

    Paramètre Valeur
    Read/Write Attributes Read/Write (Read/Write Splitting)
    Read Weight Allocation Custom
    Poids de l'instance en lecture seule 10000
    Poids de l'instance principale 0
  5. Dans la section Connection Information, copiez l'endpoint du proxy de type VPC. Vous l'utiliserez pour vous connecter depuis l'instance ECS.

Étape 2 : Exécuter des opérations de lecture via le proxy

  1. Connectez-vous à l'instance ECS. Pour obtenir des instructions, consultez la rubrique Se connecter à une instance.

  2. Connectez-vous à l'instance RDS via l'endpoint du proxy de base de données :

    Espace réservé Description
    <proxy-endpoint> L'endpoint du proxy de type VPC obtenu à l'étape 1. Utilisez un endpoint de proxy public si la connexion s'effectue depuis l'extérieur du VPC.
    <port> Le numéro de port du proxy
    <username> Le nom du compte de test (par exemple, cxx1)
    <password> Le mot de passe du compte. Saisissez-le directement après -p sans espace, ou omettez-le et saisissez-le lorsqu'il vous est demandé afin d'éviter de l'exposer en clair.
    mysql -h<proxy-endpoint> -P<port> -u<username> -p<password>
  3. Basculez vers la base de données de test :

    USE testdb01;
  4. Exécutez l'instruction SELECT suivante six fois :

    SELECT * FROM products LIMIT 20;

Étape 3 : Exécuter des opérations d'écriture via le proxy

Dans la même session, exécutez l'instruction CREATE TABLE suivante trois fois :

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
);

Étape 4 : Vérifier les résultats de routage dans SQL Explorer et Audit

Consultez les journaux SQL sur les deux instances pour confirmer que chaque requête a été acheminée vers l'instance appropriée.

Vérifiez l'instance principale : aucun enregistrement SELECT ne doit apparaître.

  1. Dans le volet de navigation de gauche de la page des détails de l'instance principale, choisissez Autonomy Services > SQL Explorer and Audit.

  2. Sélectionnez une plage horaire couvrant votre test, puis cliquez sur Query.

  3. Confirmez qu'aucun enregistrement d'instruction SELECT n'apparaît. Les enregistrements CREATE TABLE doivent être présents.

Vérifiez l'instance en lecture seule : six enregistrements SELECT doivent apparaître.

  1. Dans le volet de navigation de gauche de la page des détails de l'instance principale, cliquez sur Basic Information. Dans la section Instance Distribution, survolez le compteur situé à côté de Read-only Instance et cliquez sur l'ID de l'instance en lecture seule.

  2. Dans le volet de navigation de gauche de l'instance en lecture seule, choisissez Autonomy Services > SQL Explorer and Audit.

  3. Sélectionnez la même plage horaire et cliquez sur Query. Confirmez que six enregistrements d'instructions SELECT apparaissent.执行记录

Vérifiez à nouveau l'instance principale : trois enregistrements CREATE TABLE doivent apparaître.

Dans le volet de navigation de gauche de la page des détails de l'instance principale, choisissez Autonomy Services > SQL Explorer and Audit. Sélectionnez la même plage horaire et cliquez sur Query. Les trois enregistrements d'instructions CREATE TABLE doivent apparaître.执行记录

Conclusion de la vérification

Avec le poids de l'instance en lecture seule défini sur 10000 et celui de l'instance principale sur 0 :

  • Toutes les requêtes d'écriture (CREATE TABLE) sont traitées par l'instance principale

  • Toutes les requêtes de lecture (SELECT) sont traitées par l'instance en lecture seule

Cela confirme que la répartition lecture/écriture fonctionne correctement.