Pgbouncer vs pgpool II

Ciao a tutti,

Mi chiedevo se qualcuno di voi abbia esperienza con pgpool II invece di pgbouncer utilizzando Discourse e, in tal caso, qual è il parere finora?

Voi, Team, lo avete preso in considerazione in qualche momento e, se sì, perché?

Grazie,
Ismael

pgpool II non supporta il pooling delle transazioni. Senza questa funzionalità, il suo valore è estremamente limitato negli ambienti di hosting su larga scala e aggiungerebbe solo complessità.

Su un’installazione Discourse “self-hosted” standard, avresti difficoltà a gestire anche solo 30-60 connessioni attive, mentre PostgreSQL non avrebbe alcun problema con questo carico. Non c’è quindi bisogno di un pooler di connessioni che complichi la tua configurazione.

Molte grazie, Sam. Effettivamente, come hai detto, per un numero limitato di connessioni potrebbe non avere senso. Inoltre, considerando il pooling delle transazioni, in questo caso c’è solo un vincitore.

Tuttavia, per quanto ne so, ho visto che pgbouncer non offre alta disponibilità (HA), mentre pgpool II sì. Che ne dici di posizionare un pgbouncer “davanti” a un pgpool per abilitare tale funzionalità? Qual è la raccomandazione per un approccio HA che si adatti bene a Discourse?

Discourse offre l’HA direttamente, grazie alla configurazione globale.

Vedi: GitHub - discourse/rails_failover · GitHub

E approfondisci le impostazioni globali qui: discourse/config/discourse_defaults.conf at main · discourse/discourse · GitHub

Dovresti configurare due pgbouncer in modalità alta disponibilità / per un numero enorme di connessioni richieste.