Augmentation de la capacité de mise à l'échelle, des performances et de la disponibilité des applications grâce à Proxy Amazon RDS - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Augmentation de la capacité de mise à l'échelle, des performances et de la disponibilité des applications grâce à Proxy Amazon RDS

Créé par Anand Komandooru, Noorul Hasan, Venkat Nalajala et Varun Kumar, Amazon Web Services (AWS)

Octobre 2022

Ce guide abordera le besoin de regroupement des connexions aux bases de données, les défis associés à l'implémentation d'une solution auto-hébergée et les avantages de l'utilisation de proxy Amazon Relational Database Service (Amazon RDS) avec Amazon RDS for PostgreSQL dans une architecture d'application sur Amazon Web Services (AWS).

Défi

PostgreSQL est implémenté à l'aide process-per-user d'un modèle client/serveur. Lorsqu'une nouvelle connexion est reçue, le processus principal lance un processus enfant pour gérer cette nouvelle connexion. Le processus principal attend ensuite la prochaine connexion, et le processus enfant prend en charge toutes les activités liées à cette nouvelle connexion client. Un nouveau processus enfant est lancé pour chaque nouvelle connexion reçue par la base de données.

De nombreuses applications, y compris celles basées sur des architectures sans serveur modernes, peuvent disposer d'un grand nombre de connexions ouvertes au serveur de base de données. Elles peuvent ouvrir et fermer des connexions à des bases de données à un rythme élevé, épuisant ainsi la mémoire de la base de données et les ressources de calcul.

Les applications transactionnelles qui ouvrent et ferment fréquemment les connexions connaîtront une latence de connexion plus élevée, ce qui se traduira par une baisse du nombre de transactions par seconde. Cela augmentera le temps de latence des applications.

Un basculement se produit lorsque l'instance de base de données principale devient inaccessible et qu'une autre instance prend le relais en tant que nouvelle instance principale. Cela perturbe les connexions des clients. Les basculements peuvent être planifiés, lorsqu'ils sont provoqués par des actions administratives telles qu'une mise à niveau continue, ou imprévus, lorsqu'ils surviennent en raison de défaillances. Dans les deux cas, les opérateurs doivent réduire les temps d'arrêt afin de minimiser les perturbations pour les clients.

Pratique courante

Un groupe de connexions est utilisé pour relever les défis liés à la capacité de mise à l'échelle et aux performances des applications. Le regroupement des connexions réduit considérablement la latence des connexions en réutilisant les connexions existantes et permet d'augmenter le débit de base de données (transactions par seconde) sur le serveur. Un groupe de connexions met en file d'attente ou limite les connexions des applications qui ne peuvent pas être servies immédiatement à partir du groupe de connexions.

Des défis supplémentaires apparaissent après la mise en œuvre de ce regroupement de connexions. Les opérateurs doivent gérer eux-mêmes l'infrastructure et les logiciels pour faire fonctionner le service de regroupement de connexions. Pour gérer un événement de basculement, les développeurs d'applications doivent gérer la complexité de la connexion pour chaque application. L'application doit détecter l'échec de connexion, découvrir un nouveau serveur principal et s'y reconnecter le plus rapidement possible.

Recommandation

Pour réduire les difficultés associées à une solution de regroupement de connexions auto-hébergée, tout en tirant parti des avantages, nous vous recommandons d'évaluer Proxy Amazon RDS pour vos charges de travail.

Proxy RDS est un proxy de base de données entièrement géré et hautement disponible. Proxy RDS utilise un regroupement de connexions pour rendre les applications plus évolutives, plus résistantes aux défaillances de base de données et plus sécurisées.