Configurez les paramètres de connexion d’un point de terminaison de proxy de base de données pour contrôler le routage du trafic en lecture et en écriture entre votre instance principale et vos instances en lecture seule. Vous pouvez ajuster chaque point de terminaison indépendamment pour des scénarios tels que la répartition lecture/écriture et les charges de travail de lecture à forte concurrence.
Prérequis
Avant de commencer, assurez-vous d’avoir :
Activé la fonctionnalité de proxy de base de données. Pour plus d’informations, consultez la rubrique Activer la fonctionnalité de proxy de base de données.
Au moins une instance en lecture seule associée à votre instance RDS. Vous pouvez activer le proxy de base de données sans instance en lecture seule, mais vous ne pourrez pas configurer les paramètres de connexion d’un point de terminaison tant qu’une telle instance n’existe pas. Pour plus d’informations, consultez la rubrique Créer une instance ApsaraDB RDS for PostgreSQL en lecture seule.
Configurer les paramètres de connexion
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où se trouve votre instance RDS, puis cliquez sur l’ID de l’instance.
Dans le volet de navigation de gauche, cliquez sur Database Proxy.
Dans la section Connection Information, repérez le point de terminaison à modifier dans la colonne Proxy Endpoint (Terminal) ID, puis cliquez sur Modify Configuration dans la colonne Actions.
-
Dans la boîte de dialogue qui s’affiche, mettez à jour les paramètres de connexion selon vos besoins.
Paramètre Description Connection Description Description personnalisée du point de terminaison. Longueur maximale : 30 caractères. Read/Write Attributes Contrôle les types d’instances accessibles via ce point de terminaison. Consultez la rubrique Choisir les attributs de lecture/écriture pour obtenir des conseils. Latency Threshold Latence maximale (en secondes) autorisée pour la réplication des données de l’instance RDS principale vers ses instances RDS en lecture seule, avant que le proxy cesse de transférer les lectures vers une instance en lecture seule. Valeurs valides : 0–3600. Définissez une valeur égale ou supérieure à 30. Disponible uniquement lorsque Read/Write Attributes est défini sur Read/Write (Read/Write Splitting). Transaction Splitting Fixé sur Enabled. Transmet aux instances en lecture seule les requêtes de lecture intervenant avant les opérations d’écriture au sein d’une transaction, réduisant ainsi la charge sur l’instance principale. Cette option ne peut pas être désactivée. Read Weight Allocation Détermine la distribution du trafic en lecture. Consultez la section Configurer l’allocation des poids de lecture pour plus de détails. Cliquez sur OK.
Choisir les attributs de lecture/écriture
Utilisez ce tableau pour sélectionner le mode adapté à votre charge de travail :
| Scénario | Option recommandée | Raison |
|---|---|---|
| Trafic applicatif général, OLTP, tâches ETL | Read/Write (Read/Write Splitting) | Le point de terminaison se connecte à l’instance principale et à toutes les instances en lecture seule, et accepte les requêtes en lecture comme en écriture. Il s’agit de la valeur par défaut. |
| Requêtes de reporting, analyses analytiques, charges de travail intensives en lecture | Read-only (Primary Instance Not Connected to Receive Write Requests) | Le point de terminaison se connecte uniquement aux instances en lecture seule et rejette les requêtes en écriture, isolant ainsi la charge analytique de votre instance principale. |
Les modifications apportées aux Read/Write Attributes s’appliquent uniquement aux nouvelles connexions. Les connexions existantes ne sont pas affectées.
Configurer l’allocation des poids de lecture
Automatic : le proxy attribue les poids de lecture en fonction des spécifications des instances. Les nouvelles instances en lecture seule sont ajoutées automatiquement au lien de répartition lecture/écriture, sans configuration manuelle requise. Pour connaître les valeurs de poids par défaut, consultez la rubrique Poids de lecture par défaut.
Custom : spécifiez un poids de lecture pour chaque instance en lecture seule. Valeurs valides : 0–10000. Les nouvelles instances en lecture seule reçoivent par défaut un poids de 0 et doivent être mises à jour manuellement.
Un poids plus élevé signifie que davantage de requêtes de lecture sont envoyées à cette instance. Par exemple, si l’instance principale a un poids de lecture de 0 et que trois instances en lecture seule ont des poids de 100, 200 et 200, l’instance principale gère uniquement les requêtes en écriture et les requêtes en lecture sont distribuées selon un ratio de 1:2:2.
Pour forcer l’acheminement d’une requête spécifique vers un type d’instance particulier, indépendamment des poids configurés, ajoutez un indice SQL :
Acheminer vers l’instance principale :
/*FORCE_MASTER*/ SELECT * FROM table_name;Acheminer vers une instance en lecture seule :
/*FORCE_SLAVE*/ SELECT * FROM table_name;
Prise d’effet des modifications
| Paramètre | Nouvelles connexions | Connexions existantes |
|---|---|---|
| Read/Write Attributes | Prise d’effet immédiate | Non affectées ; les connexions existantes conservent le paramètre précédent |
| Read Weight Allocation | Prise d’effet immédiate ; aucune interruption transitoire des connexions | Continuent d’utiliser les poids précédents jusqu’à la reconnexion |
Après la libération des instances RDS en lecture seule, les poids de lecture deviennent automatiquement invalides.
Si votre instance RDS tombe en panne ou si la latence de réplication des données dépasse le seuil spécifié, les poids de lecture deviennent automatiquement invalides. Une fois que votre instance RDS fonctionne normalement, les poids de lecture redeviennent valides.
Étapes suivantes
Référence API
| Opération | Description |
|---|---|
| DescribeDBProxy | Interroge les détails d’un proxy de base de données. |
| DescribeDBProxyEndpoint | Interroge le point de terminaison d’un proxy de base de données. |
| ModifyDBProxyEndpoint | Modifie les paramètres de connexion d’un point de terminaison de proxy de base de données. |