Re: Conexiones persistentes y pg_pool

From: Diego Schulz <dschulz(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Conexiones persistentes y pg_pool
Date: 2009-08-14 05:22:39
Message-ID: 47dcfe400908132222t7727d65p84fe167a19647071@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2009/8/13 Edwin Quijada <listas_quijada(at)hotmail(dot)com>:

>> From: jcasanov(at)systemguards(dot)com(dot)ec
>> Date: Thu, 13 Aug 2009 18:13:00 -0500
>> Subject: Re: [pgsql-es-ayuda] Conexiones persistentes y pg_pool
>> To: listas_quijada(at)hotmail(dot)com
>> CC: pgsql-es-ayuda(at)postgresql(dot)org
>>
>> 2009/8/13 Edwin Quijada <listas_quijada(at)hotmail(dot)com>:
>> > Hola.!
>> > Tengo un proyecto con alrededor de 500 usuarios usando Lazarus para la
>> > conexion uso los componentes Zeos con conexiones persistentes a mi BD .
>> > Hasta ahora todo va bien pero me preocupa el tener todas esas conxiones
>> > abiertas pg_pool seria recomendable para estos casos?
>> >
>>
>> no, ningun pool de conexiones funciona bien con conexiones
>> persistentes porque la idea es reutilizar conexiones que ya no estan
>> siendo usadas por alguna sesion pero si la aplicacion no suelta la
>> conexion no podra reutilizarla el pool... pgbouncer tiene un modo en
>> que reutiliza conexiones no a nivel de sesion sino a nivel de
>> transaccion o despues de cada comando pero esos modos tienen
>> consideraciones que tomar
>>
>> https://developer.skype.com/SkypeGarage/DbProjects/PgBouncer
>
> Jaime, a ver , mi proyecto son alrededor de 500 puntos conectados por
> internet la idea es accesar a Postgres via SSL activandole este feature. Lo
> que no me gusta es que debo sacar a Postgres a internet por eso la idea del
> pool ademas no podria con el ancho de banda.
>

Si lo que quieres es evitar exponer al PostgreSQL.. ¿quetal te iría
con una solución como OpenVPN ?
El esquema es sencillo:

0. Configura PostgreSQL como te place, en una red *privada*.

1. Te configuras una o varias instancias de OpenVPN (servidor) con
certificados autofirmados y las dejas escuchando en direcciones
públicas. Esta(s) maquinas tienen alguna forma de acceso al servidor
PostgreSQL.

2. Generas certificados para los clientes (esta es la parte engorrosa,
especialmente si son 500 :) y generas un ejecutable autoextractor que
instale el certificado y la configuración para OpenVPN (cliente) en el
directorio correcto.

3. Instalas OpenVPN en los clientes, instalas el certificado y la
config con el auto-extractor con 2 clicks.

4. Conectas la VPN y tienes un tunel cifrado con el servidor OpenVPN,
este te asigna una ruta para llegar al PostgreSQL.

Tengo un esquema así en producción. Me llevó muy poco tiempo ponerlo
en marcha y nunca dio problemas (aunque no son 500 clientes!). Como
dije, la parte engorrosa es generar los certificados para clientes,
cosa que se puede hacer con herramientas gráficas y con un poco de
esfuerzo se puede automatizar gran parte.
Demás está decir que OpenVPN esta disponible para un montón de
plataformas, los nodos pueden ser lo que quieras (linux, windows,
bsd).

>
> Otra idea que se me ocurrio es crear un servidor de peticiones,es decir,
> tener un grupo de scripts via https escuchando peticiones de esos
> clientes,vamos, algo parecido a los webservices, practicamente es lo mismo,
> pero sin el overhead del webservice. De esta manera no tendria que tener a
> Postgres fuera de la red local por eso me gusta pero seria bastante
> trabajoso digamos que tendria una app desktop trabajando como si fuera una
> pagina web
>
> Que opinas de ambas soluciones?
> Que tu me puedes recomendar para este caso?
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jhonny Velasquez c. 2009-08-14 12:25:25 uso de dblink
Previous Message Edwin Quijada 2009-08-14 02:01:12 RE: Conexiones persistentes y pg_pool