Configurez des paramètres de connexion distincts pour chaque point de terminaison du proxy de base de données afin de prendre en charge des cas d'utilisation tels que la séparation lecture/écriture ou la gestion de requêtes de lecture à forte concurrence. Vos applications peuvent ainsi se connecter à une instance ApsaraDB RDS for PostgreSQL avec des paramètres adaptés à vos besoins métier spécifiques.
Prérequis
La fonctionnalité de proxy de base de données est activée. Pour plus d'informations, consultez la rubrique Activer le proxy de base de données.
Remarques sur l'utilisation
Assurez-vous d'avoir créé une instance en lecture seule. Sans instance en lecture seule, vous pouvez activer le proxy de base de données, mais vous ne pourrez pas configurer les paramètres de connexion de ses points de terminaison. Pour en créer une, consultez la rubrique Créer une instance ApsaraDB RDS for PostgreSQL en lecture seule.
Procédure
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où réside l'instance RDS. Localisez ensuite l'instance RDS et cliquez sur son ID.
Dans le volet de navigation de gauche, cliquez sur Database Proxy.
Dans la section Connection Information, repérez l'Proxy Endpoint (Terminal) ID cible et cliquez sur Modify Configuration dans la colonne Actions.
-
Dans la boîte de dialogue qui s'affiche, modifiez les paramètres de connexion du point de terminaison du proxy de base de données en fonction de vos besoins métier.
Paramètre
Description
Connection Description
Description personnalisée du point de terminaison du proxy de base de données. La description peut comporter jusqu'à 30 caractères.
Read/Write Attributes
Définit le routage des requêtes de lecture et d'écriture.
Read/Write (Read/Write Splitting) (par défaut) : Se connecte à la fois à l'instance principale et à ses instances en lecture seule. Ce point de terminaison peut recevoir des requêtes d'écriture.
Read-only (Primary Instance Not Connected to Receive Write Requests) : Se connecte uniquement aux instances en lecture seule et ne reçoit pas de requêtes d'écriture.
RemarqueAprès modification des attributs de lecture et d'écriture, les changements s'appliquent uniquement aux nouvelles connexions. Les connexions existantes ne sont pas affectées et conservent leurs paramètres d'origine. Pour plus d'informations, consultez les rubriques Qu'est-ce que la séparation lecture/écriture ? et Définir les attributs de lecture/écriture et les poids de lecture.
Vous devez créer une instance PostgreSQL en lecture seule avant de pouvoir définir les attributs de lecture et d'écriture et utiliser la fonctionnalité de séparation lecture/écriture.
Latency Threshold
Latence de réplication maximale autorisée lorsqu'une instance en lecture seule synchronise les données depuis l'instance principale. Valeurs valides : de 0 à 3 600 secondes.
Un retard de réplication peut survenir sur les instances en lecture seule en fonction des performances d'exécution SQL. Nous vous recommandons de définir cette valeur à au moins 30 secondes.
RemarqueCe paramètre n'est disponible que lorsque l'option Read/Write Attributes est définie sur Read/Write (Read/Write Splitting).
Si le retard de réplication d'une instance en lecture seule dépasse ce seuil, le proxy de base de données cesse de transférer les requêtes de lecture vers cette instance, indépendamment du poids de lecture qui lui est attribué.
Transaction Splitting
Cette fonctionnalité est toujours activée. La division des transactions transfère les requêtes de lecture au sein d'une transaction, survenant avant toute opération d'écriture, vers les instances en lecture seule. Cela permet de réduire la charge sur l'instance principale.
RemarquePour une explication détaillée de cette fonctionnalité, consultez la rubrique Division des transactions.
Read Weight Allocation
Spécifie la manière dont les poids de lecture sont attribués aux instances :
Automatic : Le système attribue automatiquement un poids de lecture à chaque instance en fonction de ses spécifications. Lorsque vous ajoutez une nouvelle instance en lecture seule, elle est automatiquement intégrée au pool de séparation lecture/écriture avec un poids attribué par le système. Aucune configuration manuelle n'est requise. Pour plus d'informations, consultez la rubrique Règles par défaut d'attribution des poids de lecture.
Custom : Définissez manuellement le poids de lecture pour chaque instance. La valeur peut varier de 0 à 10 000. Lorsque vous ajoutez une nouvelle instance en lecture seule, son poids de lecture par défaut est 0. Vous devez alors modifier ce poids manuellement.
RemarquePlus le poids de lecture d'une instance est élevé, plus celle-ci traite de requêtes de lecture. Par exemple, supposons qu'une instance principale dispose de trois instances en lecture seule. Si l'instance principale a un poids de lecture de 0 et que les instances en lecture seule ont des poids de 100, 200 et 200, l'instance principale ne traitera aucune requête de lecture. Les requêtes d'écriture lui sont toujours routées automatiquement. Les trois instances en lecture seule gèrent les requêtes de lecture selon un ratio de
1:2:2.Les modifications apportées à ce paramètre prennent effet immédiatement sans provoquer de déconnexions transitoires. Les connexions existantes ne sont pas affectées et continuent d'utiliser la distribution des poids précédente.
Lorsqu'une instance en lecture seule est libérée, son poids est automatiquement supprimé.
Si une instance tombe en panne ou si son retard de réplication dépasse le seuil, son poids est automatiquement supprimé. Le poids est automatiquement restauré après la récupération de l'instance.
Ajoutez l'indicateur
/FORCE_MASTER/à votre instruction SQL :/*FORCE_MASTER*/ SELECT * FROM table_name;Pour router explicitement une requête de lecture vers une instance en lecture seule à la place, utilisez
/FORCE_SLAVE/.
Cliquez sur OK.
Rubriques connexes
API associées
|
API |
Description |
|
Récupère les détails d'un proxy de base de données. |
|
|
Récupère les détails d'un point de terminaison de proxy de base de données. |
|
|
Modifie les paramètres de connexion d'un point de terminaison de proxy de base de données. |