Mario Soto Cordones escribió: > Estas en lo correcto, pero, depende del punto de vista que se mire, para > "mi" Alta Disponibilidad es que mis usuarios nunca se enteren que se cayó > tal o cual nodo (entiéndase por usuario cualquier aplicación), es por ese > motivo que incluí en la ecuación el haproxy, Que me permite atender > peticiones, no importando que nodo se cayó.
OK. ¿qué pasa con el usuario que tenía una transacción de escritura en la mitad cuando el maestro se cayó? Espero que no me digas que el haproxy va a repetir todo lo que la transacción ejecutó en el primer maestro en el standby que acabas de promover y continuar la transacción transparentemente desde ahí, porque eso sería terriblemente oneroso. Creo que la solución sensata a ese problema es que la aplicación le diga al usuario "ups hubo un problemita" y le pida repetir la operación. Si tomas esa aproximación, entonces no es terriblemente importante qué hace la aplicación del balanceo de carga, ¿no? Es suficiente con saber quién es maestro y quién es standby. BDR no es magia. Tiene un montón de limitaciones. Si pones una aplicación cualquiera a trabajar sin tener eso en cuenta, es seguro que algo desagradable te va a morder en un lugar donde te va a doler mucho. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda