Cluster
PostgreSQL
Bases de données
Haute disponibilité
Infrastructure

Créer son propre Cluster PotsgreSQL

Informatisation de process : Création d'un cluster de base de données de type PostgreSQL sur les architectures de nos clients.

Base de données PostgreSQL 06/11/2022 08:06, il y a 1 an
Créer son propre Cluster PotsgreSQL

Introduction

PostgreSQL est une base de données relationnelle open source qui peut fonctionner sur les principaux systèmes d'exploitation. Il est très robuste et polyvalent, mais n'a pas de fonctionnalités pour la haute disponibilité. Il existe d'autres frameworks open source disponibles qui peuvent être utilisés pour gérer la haute disponibilité de la base de données PostgreSQL.

Dans ce didacticiel, vous allez configurer PostgreSQL avec une haute disponibilité à l'aide de Patroni, ETCD et HAProxy.

Patroni est un modèle qui vous permet de créer votre propre solution personnalisée à haute disponibilité développée à l'aide de Python. Il est également capable de gérer les configurations de réplication, de sauvegarde et de restauration de la base de données.

ETCD est un magasin clé-valeur distribué tolérant aux pannes qui est utilisé pour stocker l'état du cluster PostgreSQL. Il gère avec élégance les élections de leader pendant les partitions de réseau et peut tolérer les pannes de machine, même dans le nœud leader.

Chaque fois qu'il y a un changement dans l'état d'un nœud PostgreSQL dans le cluster, Patroni met à jour le changement d'état dans le magasin clé-valeur ETCD. Avec ces informations, ETCD élit le nœud maître et maintient le cluster UP et en cours d'exécution.

Avec cette solution de haute disponibilité qui a plus d'une instance de base de données dans un seul cluster, le nœud maître du cluster change en permanence en cas de panne. Il devient difficile de maintenir les points de terminaison de la base de données dans cette situation. Pour résoudre ce problème, HAProxy peut être utilisé. Il garde une trace des changements dans les nœuds maître/esclave et se connecte au nœud maître approprié lorsque les clients demandent une connexion.

Lorsque vous aurez terminé, vous disposerez d'un cluster PostgreSQL robuste et hautement disponible prêt pour une utilisation en production.

Présentation de l'environnement

Dans nos articles, nous serons amenés à procéder par étape, mais in fine vous aurez à préparer au minimum :

  • Trois serveurs pour Patroni exécutant Ubuntu 20.04.
  • Trois serveurs pour ETCD exécutant Ubuntu 20.04.
  • Deux serveurs pour HAProxy exécutant Ubuntu 20.04.

Principe de fonctionnement du cluster

Partager
Maxime HINDERSCHIETT
Avatar - Maxime HINDERSCHIETT Expert en Ingénierie Informatique, cela fait 10 ans que je m’efforce de répondre à de nouveaux défis, des projets ambitieux et surtout de construire ou faire évoluer un univers numérique. Je fais tout mon possible pour rendre la vie numérique agréable tout en cherchant des solutions à vos problématiques.
Commentaires (0)
Restez informés,
Souscrivez à notre newsletter

Votre adresse de messagerie est uniquement utilisée pour vous envoyer les lettres d'information de MAXDEV-SOLUTION. Vous pouvez à tout moment utiliser le lien de désabonnement intégré dans la newsletter. En savoir plus sur la gestion de vos données et vos droits