03 July 2017

Réplication asynchrone Master-Slave des bases de données PostgreSQL

By Hidora

En tant que composant essentiel pour la plupart des applications, les données doivent être disponibles pour les end users dans un environnement dynamique. Le stockage des données dans un seul emplacement est sujet à risque en cas de panne du système. Par conséquent, vous devez proposer une stratégie sur la manière d'assurer une haute disponibilité et l'une des solutions consiste à maintenir les données sur plusieurs serveurs synchronisés.


Le fait que vos données soient répliquées dans une autre base de données peut être très utile pour diverses raisons, telles que l'amélioration des performances, l'exécution de services de sauvegarde, l'analyse d'informations et, par conséquent, atténuer les pannes du système.

Parmi les nombreuses solutions de clustering de bases de données, Jelastic fournit le package PostgreSQL avec une réplication asynchrone master-slave qui peut être installée automatiquement et exécutée sans configuration supplémentaire requise.


Regardons maintenant les spécifications du package et suivons le guide d’installation étape par étape


Package de réplication PostgreSQL pour un déploiement immédiat

La solution de réplication PostgreSQL pour une installation en un clic est basée sur un modèle PostgreSQL 9.5.5 certifié par Jelastic. Par défaut, il déploie deux conteneurs de base de données (un par rôle - master et slave) avec une réplication asynchrone entre eux.

Le serveur principal (master) exécute une base de données active qui gère les opérations de lecture-écriture, tandis que le serveur de secours (slave) fonctionne avec cette copie de base de données et gère les opérations en lecture seule. Par conséquent, si la base de données principale échoue, le système exécutera les données du conteneur «slave».



Dans le pack, chaque conteneur de base de données a une échelle verticale par défaut de 1 réservé à 24 cloudlets dynamiques (jusqu'à 3 GiB de RAM et 9,6 GHz de CPU) qui sont alloués dynamiquement en fonction de la charge entrante. Par la suite, vous pouvez modifier la limite d'allocation de ressources en suivant le guide ci-dessus.


A présent, regardons comment faire pour que le package PostgreSQL soit opérationnel dans le cloud Hidora


Deployer le pack de réplication PostgreSQL

1. Connectez-vous à la plate-forme Hidora avec vos informations d'identification et cliquez sur Marketplace dans le volet supérieur.



Dans la section Applications, utilisez la zone de recherche pour trouver le package PostgreSQL database replication et cliquez sur Installer.


2. Dans la fenêtre d'installation, tapez Nom de l'environnement et Nom d'affichage (alias), sélectionnez une région et cliquez sur Installer.



Lorsque l'installation du pack est terminée, vous verrez un message de confirmation avec l'URL du nœud master et recevez simultanément une notification par courrier électronique avec vos données d'administration.



Maintenant, mettons la base de données principale en action pour vérifier que les données sont répliquées avec succès dans le serveur «slave»


Test de la réplication de base de données PostgreSQL

Pour s'assurer que les données sont répliquées correctement, nous allons créer une nouvelle instance DB dans le conteneur « master » et vérifier sa présence dans le «slave».

Créez une nouvelle base de données PG


1. Cliquez sur Ouvrir dans le navigateur à côté du noeud master PostgreSQL pour lancer l'interface Web phpPgAdmin.



2. Sous Serveurs, cliquez sur PostgreSQL et connectez-vous avec les informations d'identification que vous avez reçues par courrier électronique après l'installation du package.



3. Cliquez sur Créer une base de données, remplissez la zone Nom (par exemple Jelastic), puis cliquez sur Créer.



Maintenant que la base de donnée a été créée dans le noeud master, vérifions les données répliquées dans le conteneur slave.


Vérifiez la réplication

Pour vous assurer que la réplication de données du « master » vers le conteneur « slave » fonctionne comme prévu, procédez comme suit.


1. Cliquez sur Ouvrir dans le navigateur à côté du noeud slave PostgreSQL pour lancer l'interface Web phpPgAdmin.


  1. Accédez à l'interface d'administration avec le même nom d'utilisateur et mot de passe que vous avez reçu par courrier électronique après l'installation du package.


Une fois connecté, vous pouvez voir et gérer la base de données (Jelastic, dans notre exemple) créée plus tôt dans le conteneur principal.

C'est tout!


L'environnement PostgreSQL avec réplication asynchrone master-slave est prêt et opérationnel pour le traitement des données.


Essayez par vous-même combien il est facile de gérer plusieurs copies de données essentielles dans les bases de données PostgreSQL répliquées sans avoir besoin de faire des configurations manuelles