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

Responder a