PostgreSQL en contenedores con datos en un sistema de archivos distribuido


8

Tengo curiosidad por saber si alguien está ejecutando PostgreSQL en un contenedor en producción en alguna forma de sistema de archivos distribuido, preferiblemente GlusterFS, o algo así.

Actualmente estoy ejecutando Mesos / Marathon. En caso de que el nodo PostgreSQL falle, Marathon simplemente lanza otra instancia de PostgreSQL en otros nodos y, si se realiza correctamente (descubrimiento de servicio y recuperación de la aplicación de la pérdida de conexión de la base de datos), se logrará la máxima tolerancia a fallas.

Sé que PostgreSQL tiene sus propias soluciones de alta disponibilidad, como el envío de registros y la copia de seguridad en espera activa, pero aún hay que resolver el problema sobre cuándo cambiar de maestro a esclavo, cómo hacerlo correctamente, etc.

Entonces, ¿cómo ejecuta PostgreSQL en producción en GlusterFS o similar? Si es así, ¿es estable? ¿Qué tal el rendimiento?


2
Finalmente terminamos usando CEPH Lo único que he encontrado hasta ahora sobre este tema es youtube.com/watch?v=OqlC7S3cUKs
pigster

3
Puede valer la pena usar repmgr ( repmgr.org ) para administrar sus failovers postgres HA, en lugar de complicar demasiado las cosas con contenedores y gluster.
JamesHannah el

1
También puedo mencionar PAF: clusterlabs.github.io/PAF como administrador de clúster para PostgreSQL.
Pierre-Alain TORET

Respuestas:


0

pero aún hay que resolver el problema de cuándo cambiar de maestro a esclavo, cómo hacerlo correctamente, etc.

Cada grupo generalmente tiene la noción de quórum: los observadores (monitores, lo que sea) deben decidir qué nodo es el maestro. Luego puede usar su información para enrutar las solicitudes correctamente. Es bastante típico ejecutar haproxy no solo con comprobaciones básicas del estado de TCP / IP sino también con una lógica de alto nivel implementada con consultas específicas del servicio.

Echa un vistazo a pacificador , por ejemplo.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.