From: | "Mario Soto Cordones" <marioa(dot)soto(dot)cordones(at)gmail(dot)com> |
---|---|
To: | "'Alvaro Herrera'" <alvherre(at)2ndquadrant(dot)com> |
Cc: | "'Lazaro Garcia'" <lazaro3487(at)gmail(dot)com>, "'Emanuel Calvo'" <3manuek(at)gmail(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: BDR y balance de carga |
Date: | 2016-09-27 18:46:45 |
Message-ID: | 000401d218ef$82003df0$8600b9d0$@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Todo lo que dices es correcto, por ese motivo es que en mi caso puntual solo
utilizo haproxy, en servidores esclavos que también tienen pgBouncer, los
servidores maestros no pasan por el haproxy, solo tienen pgbouncer
CLIENTES/APP
HAPROXY
pgBouncer pgBouncer pgBouncer
pgBouncer
SLAVE1 <-- SLAVE2 <-- MASTER1
<----> MASTER2
Saludos cordoales
-----Mensaje original-----
De: Alvaro Herrera [mailto:alvherre(at)2ndquadrant(dot)com]
Enviado el: martes, 27 de septiembre de 2016 13:30
Para: Mario Soto Cordones <marioa(dot)soto(dot)cordones(at)gmail(dot)com>
CC: 'Lazaro Garcia' <lazaro3487(at)gmail(dot)com>; 'Emanuel Calvo'
<3manuek(at)gmail(dot)com>; pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] BDR y balance de carga
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
From | Date | Subject | |
---|---|---|---|
Next Message | Mario Soto Cordones | 2016-09-27 19:14:37 | RE: BDR y balance de carga |
Previous Message | Mario Soto Cordones | 2016-09-27 18:22:33 | RE: BDR y balance de carga |