2016-02-21 13 views
6

Avendo un'architettura di microservizi, più servizi parlano al mio database PostgresSQL. Se ora desidero distribuire parti della mia applicazione come funzioni AWS Lambda, come posso evitare di rimanere senza connessioni?Pool di connessioni con PostgreSQL e AWS

letto un paio di articoli [1], [2], [3] mi sono reso conto PgBouncer può essere una buona misura per la mia architettura Microservice.

Ho bisogno di un "microservice" di fronte al mio database? Come impostare questo con AWS Lambda?

risposta

3

In base allo this thread sul forum degli sviluppatori AWS, AWS Lambda tenta di riutilizzare il vecchio processo quando è possibile, offrendo la possibilità di utilizzare un pool di connessioni client.

A mio parere, utilizzare un pool di connessione dedicato di fronte al database è sempre una buona idea. Con esso, minimizzi la connessione aperta sul tuo database, che può essere un consumatore di risorse. Potete trovare ulteriori informazioni, per Postgresql, su questo blog post

Per quanto ne so, AWS non offre un servizio dedicato per il pooling delle connessioni. È possibile utilizzare un'istanza dedicata per questo. Per Postgresql, PgBouncer è una buona opzione. Non ha bisogno di una CPU o di una grande quantità di memoria, ma si preferisce comunque un'istanza ottimizzata per la rete. E fai attenzione, con solo su istanza di PgBouncer, introduci uno spoof nella tua architettura.

+7

Con tutti i servizi che offrono e non offrono un pool di connessione come servizio ... è un peccato. –

+0

Speriamo che Aurora Serverless risolva tutto ciò – l0rin