Re: [pgsql-es-ayuda] Múltiples pg_pool para múltiples instancias de pg_cluster

From: Martín Marqués <martin(dot)marques(at)gmail(dot)com>
To: Gustavo Courault <gcourault(at)gmail(dot)com>
Cc: Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Múltiples pg_pool para múltiples instancias de pg_cluster
Date: 2015-12-16 13:10:01
Message-ID: CABeG9LtVHzDVRPj6Y=Z+kTeSPpN2pgZJ7js-O7v3FMBkFOQ=Xg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Gustavo!

El día 15 de diciembre de 2015, 13:14, Gustavo Courault
<gcourault(at)gmail(dot)com> escribió:
> Estimados:
>
> Tenemos varias instancias pg_clusters (todas la misma versión). y

Queres decir que hay varios clusters en el mismo servidor (corriendo
con distinto puerto y data dir obviamente)

> queremos replicarlas por seguridad y por balance de carga

Replicar a una segunda maquina imagino por lo de seguridad?

> Queremos usar pg_pool2 para esto, pero cada pg_pool2 permite manejar
> solo un socket.

Que es lo que queres hacer con pgpool2? Replicación o balanceo de
carga, o ambas?

> Sin embargo, cada server tiene un socket por cada pg_cluster, de modo
> que así como viene no es posible hacer lo que necesitamos.

Tendrás que correr un pgpool2 por cada instancia de postges que
tengas. Yo no recomendaría eso por cuestiones de rendimiento (en
realidad no recomendaria pgpool2 directamente :P)

> ¿Se les ocurre alguna solución? O darnos algún consejo

Usar replication por flujo y poner un pooler como pgbouncer delante.

Si queres balanciar carga, colocá dos conexiones en pgbouncer una
apuntando al maestro y otra al esclavo, y lleva la lógica del balanceo
a la capa de aplicación, creando dos conexiones (una para el maestro y
ora para el esclavo) y enviando algunas consultas de solo lectura al
esclavo y otras, mas las de escritura al maetro.

A tener en cuenta: cuando hagas balanceo de carga debes tener el
cuenta que a menos que tengas replicación sincronica, las consultas al
esclavo pueden no tener todos los datos necesarios por lag de
replicación. O sea, si insertas algún dato y después envías una
consulta de lectura al esclavo, puede que el dato recien ejecutado no
esté allí aún.

Espero te haya sido útil.

Saludos,

--
Martín Marqués
select 'martin.marques' || '@' || 'gmail.com'
DBA, Programador, Administrador

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Martín Marqués 2015-12-16 13:15:37 Re: problemas replica 9.4 con slot
Previous Message Alberto Cuevas 2015-12-16 03:35:21 Usar función con cursor en DataWindow