Ich bin neugierig, ob jemand tatsächlich PostgreSQL in einem Container in der Produktion auf einem verteilten Dateisystem ausführt - vorzugsweise GlusterFS oder so.
Ich laufe derzeit Mesos / Marathon. Wenn der PostgreSQL-Knoten ausfällt, startet Marathon einfach eine weitere Instanz von PostgreSQL auf anderen Knoten. Bei ordnungsgemäßer Ausführung (Serviceerkennung und Wiederherstellung der Anwendung nach Verlust der Datenbankverbindung) wird die endgültige Fehlertoleranz erreicht.
Ich weiß, dass PostgreSQL seine eigenen HA-Lösungen hat, wie Protokollversand und Hot-Standby-Backup, aber dann muss man das Problem noch lösen, wann man vom Master zum Slave wechselt, wie man es richtig macht und so weiter.
Wie führt man PostgreSQL in der Produktion auf GlusterFS oder ähnlichem aus? Wenn ja, ist es stabil? Wie wäre es mit Leistung?
quelle
Antworten:
Jeder Cluster hat normalerweise den Begriff des Quorums: Beobachter (Monitore, was auch immer) müssen entscheiden, welcher Knoten der Master ist. Dann können Sie ihre Informationen verwenden, um Anfragen richtig weiterzuleiten. Es ist ziemlich typisch laufen haproxy mit nicht nur grundlegende TCP / IP - Gesundheitschecks , aber einige hohe Logik mit dienstspezifische Abfragen implementiert.
Schauen Sie sich den Friedensstifter an , z.
quelle
Sie müssen postgresql im Stateful-Service-Modus ausführen. Die Skalierung erfolgt durch Mesos, die Datenreplikation erfolgt jedoch durch das Postgresql selbst. Werfen Sie einen Blick auf den Stateful Service und die persistenten Volumes dieser Site .
quelle