Je suis curieux de savoir si quelqu'un exécute réellement PostgreSQL dans un conteneur en production sur une certaine forme de système de fichiers distribué - GlusterFS de préférence, ou quoi que ce soit.
Je cours actuellement Mesos / Marathon. En cas de défaillance du nœud PostgreSQL, Marathon lance simplement une autre instance de PostgreSQL sur d'autres nœuds et si cela est fait correctement (découverte du service et récupération de l'application après une perte de connexion à la base de données), la tolérance de panne ultime sera atteinte.
Je sais que PostgreSQL a ses propres solutions HA, comme l'envoi de journaux et la sauvegarde à chaud, mais il reste encore à résoudre le problème du moment de passer du maître à l'esclave, comment le faire correctement et ainsi de suite.
Alors, comment exécutez-vous PostgreSQL en production sur GlusterFS ou similaire? Si oui, est-il stable? Et la performance?
la source
Réponses:
Chaque cluster a généralement une notion de quorum: les observateurs (moniteurs, peu importe) doivent décider quel nœud est le maître. Ensuite, vous pouvez utiliser leurs informations pour acheminer correctement les demandes. Il est assez courant d'exécuter haproxy avec non seulement des vérifications d'intégrité TCP / IP de base , mais aussi une logique de haut niveau implémentée avec des requêtes spécifiques au service.
Consultez pacificateur , par exemple.
la source
Vous devez exécuter postgresql en mode service avec état. La mise à l'échelle est effectuée par mesos mais la réplication des données est effectuée par le postgresql lui-même. Jetez un œil à ce site avec un service avec état et des volumes persistants .
la source