En nuestra tienda seleccionamos repmgr y pgbouncer en lugar de pgpool. repmgr tiene algunas herramientas útiles para configurar y mantener el clúster de servidores de bases de datos replicados. En nuestro caso, 1 maestro y 2 esclavos (un failover y una prueba de rendimiento de lectura en vivo que puede convertirse en el failover del nuevo maestro). pgpool tiene problemas con los cambios en la configuración, en la mayoría de los casos debe reiniciar el servicio y, por lo tanto, tiene algún tiempo de inactividad. Este es un problema cuando necesita disponibilidad 24x7x365.
repmgrd (el demonio) ayuda a seleccionar el nuevo maestro después de una conmutación por error, realmente no quieres una situación de cerebro dividido. Tenemos una dirección IP virtual para la base de datos maestra, la base de datos que es maestra en ese momento. Cuando otro servidor se convierte en maestro, este es el único servidor que utiliza esta dirección. Cada servidor de base de datos también tiene su propia dirección IP para consultas de solo lectura.
repmgr es mantenido por los mismos tipos que crearon la replicación de transmisión en primer lugar, para que sepan de qué hablan. La versión 2.0 está a punto de ser lanzada.
¡Prepárese para la peor situación, haga algunas pruebas serias sacando algunos enchufes de alimentación y de red! Cuando algo sale mal, muchas otras cosas ya salieron mal y te morderán por la espalda cuando no puedas pagarlo.
La replicación es una cosa, una conmutación por error que funciona después de algunos problemas graves, es otra cosa.