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.
Patroni et etc.
Nous recommandons Patroni
Patroni permet également APIs de vérifier l'état du service PostgreSQL et les rôles de chaque instance ou nœud de base de données. Vous devez installer Patroni sur chaque instance de base de données pour qu'elle fonctionne avec etcd (magasin de configuration distribué).
Par défaut, Patroni configure PostgreSQL pour la réplication asynchrone. Le choix de votre méthode de réplication dépend de considérations commerciales. Patroni est l'un des meilleurs outils pour configurer HA car il est hautement configurable. Voici certains des avantages de l'utilisation de Patroni :
-
Il est facile de passer d'un mode de réplication à un autre (synchrone et asynchrone).
-
Patroni dispose d'une API REST riche. Patroni utilise elle-même cette API pour effectuer des failovers pendant la course aux leaders en utilisant HAProxy
un autre équilibreur de charge pour effectuer des contrôles de santé HTTP. -
Patroni doit temporairement quitter la gestion du cluster, tout en conservant l'état du cluster dans le magasin de configuration distribué (DCS). Par exemple, vous ne souhaitez pas qu'un basculement se produise pendant une fenêtre de maintenance manuelle. Patroni propose des commandes de pause et de reprise afin que vous puissiez éviter les temps d'arrêt indésirables.
-
Pour éviter le problème du split brain, Patroni doit s'assurer que PostgreSQL n'acceptera aucune validation de transaction après l'expiration de la clé principale dans le DCS. Patroni prend également en charge des appareils tels que Watchdog pour éviter le problème du cerveau divisé. Pour plus d'informations sur le problème du cerveau divisé et Watchdog, consultez le support de Watchdog dans la documentation de Patroni
.
Architecture
Le schéma suivant montre l'architecture permettant de configurer HADR pour votre base de données PostgreSQL locale sur EC2 Amazon à l'aide de Patroni et etcd.

Le schéma suivant illustre le flux de travail suivant :
-
Créez des EC2 instances.
-
Installez une base de données PostgreSQL.
-
Installez et configurez Patroni sur les EC2 instances.
-
Créez et configurez un Network Load Balancer.
-
Configurez chaque base de données PostgreSQL dans etcd (pour Patroni) pour obtenir HA.
Considérations
Nous vous recommandons de prendre en compte les points suivants avant de commencer votre migration en utilisant Patroni :
-
Les utilisateurs doivent avoir une expertise en administration de PostgreSQL et en DCS pour utiliser Patroni.
-
Patroni a une courbe d'apprentissage abrupte et de nombreuses options de configuration parmi lesquelles choisir.
-
Vous devez avoir des ports supplémentaires dédiés à Patroni.