Postgresql
Pooler (pgbouncer) + MasterDB + Slaves
在峰值期間,我的連接數從 30 增加到超過 140,如下所示:
我願意設置一個像 pgbouncer 這樣的池子,但是有一些問題,因為我的場景並不那麼容易:
1個負載均衡器(nginx)
2 個網路伺服器(www01 和 www02)
5個數據庫伺服器(master01、slave01(只讀)、slave02(hot_standby)、slave03(hot_standby)、slave04(hot_standby)
只有一個數據庫。大小:2TB
最大連接數:200
我正在使用 PostgreSQL 9.2
題:
pgbouncer 可以處理我的 master 和 slave01,因為我使用 slave01 作為只讀伺服器?另外.. 我有 2 個 www 伺服器… 我必須在它們兩個中都有 pgbouncer 嗎?
是的,您可以在 pgbouncer 中定義您的 2 個伺服器(或更多)主伺服器和從伺服器並連接到它們中的每一個。您可以在每個 www 上安裝 pgbouncer 的拓撲不同,因為連接速度最快(www 程序可以使用 unix socket 連接),在每個伺服器(主伺服器和從伺服器)上安裝 pgbouncer 或將其安裝在新主人單身。我個人推薦另一種拓撲,在每個 www(以增加連接)和每個數據庫伺服器上到處安裝 pgbouncer,例如,當您想要進行遷移時,它將為您提供幫助。PgBouncer 支持暫停/恢復連接,例如,當您升級版本時,您可以重新配置將流量轉移到新主機的連接。