Consultez les consignes ci-dessous avant d'activer la fonctionnalité de proxy de base de données pour ApsaraDB RDS for PostgreSQL.
Facturation
Les proxies de base de données à usage général (General-purpose) sont gratuits. Les proxies dédiés, les instances en lecture seule et les instances RDS principales sont facturés séparément.
Si l'instance RDS principale est libérée, tous les proxies de base de données associés le sont également automatiquement et la facturation des proxies dédiés cesse immédiatement.
Modèle de connexion
Le proxy de base de données utilise un modèle de connexion 1:N. Lorsque votre application ouvre une connexion, le proxy la réplique vers l'instance RDS principale et toutes les instances RDS en lecture seule.
Limites de connexions
Le proxy lui-même n'impose aucune limite maximale de connexions. La limite effective dépend des spécifications de l'instance RDS principale et de ses instances RDS en lecture seule.
Pour éviter tout rejet inattendu de connexion, configurez le même nombre maximal de connexions pour l'instance RDS principale et pour toutes les instances en lecture seule. Si les limites diffèrent, c'est la valeur la plus basse parmi toutes les instances qui s'applique au proxy.
Sans la mise en pool des connexions au niveau des transactions, le proxy établit une connexion distincte entre chaque client, l'instance RDS principale et chaque instance RDS en lecture seule.
Instances en lecture seule nouvelles ou redémarrées
Si vous créez ou redémarrez une instance RDS en lecture seule après avoir activé le proxy, seules les requêtes transmises via de nouvelles connexions sont acheminées vers cette instance. Les requêtes utilisant des connexions existantes continuent d'être dirigées vers leurs instances d'origine.
Comportement de routage
Répartition lecture/écriture
Lorsque la répartition lecture/écriture est configurée via un endpoint de proxy de base de données, la cohérence en lecture entre les requêtes d'une même session n'est pas garantie.
Variables de session
Pour consulter les variables de session sur l'instance RDS principale ou sur les instances en lecture seule via un endpoint de proxy de base de données, ajoutez à la fois /*force_master*/ et /*force_slave*/ à votre requête.
Épinglage de connexion : instructions multiples et procédures stockées
L'exécution d'instructions multiples ou l'appel de procédures stockées entraîne le routage de toutes les requêtes suivantes sur cette connexion vers l'instance RDS principale. En effet, le proxy épingle la connexion à une seule instance backend afin de préserver l'état d'exécution.
Pour rétablir la répartition lecture/écriture, fermez la connexion actuelle et ouvrez-en une nouvelle.
Notes opérationnelles
Modification des spécifications d'instance
La modification des spécifications de l'instance RDS principale ou d'une instance RDS en lecture seule peut provoquer une interruption transitoire des connexions.
Instance principale verrouillée
Si l'instance RDS principale est verrouillée, ses proxies de base de données restent actifs mais ne peuvent traiter que les requêtes en lecture.
Configuration du bloc CIDR
Lors de la configuration d'un bloc CIDR pour l'hôte à l'aide du compte privilégié, utilisez le format 10.1.2.%. Le format 10.1.2.0/24 n'est pas pris en charge à cet effet.
Liste blanche d'adresses IP
Le proxy de base de données hérite de la liste blanche d'adresses IP de l'instance RDS principale. Toute mise à jour de la liste blanche de l'instance RDS principale est automatiquement appliquée au proxy.