大家好,
我想知道你们中是否有人在使用 Discourse 时,有过使用 pgpool II 代替 pgbouncer 的经验?如果有,目前的感受如何?
团队是否考虑过在某个时间点采用它?如果是,原因是什么?
谢谢,
Ismael
大家好,
我想知道你们中是否有人在使用 Discourse 时,有过使用 pgpool II 代替 pgbouncer 的经验?如果有,目前的感受如何?
团队是否考虑过在某个时间点采用它?如果是,原因是什么?
谢谢,
Ismael
pgpool II 不支持事务池。在缺乏事务池的情况下,它在大规模托管场景中的价值极其有限,反而只会增加系统的复杂性。
在标准的“自托管”Discourse 部署中,你很难遇到超过 30-60 个活跃连接的情况,而 PostgreSQL 完全能够轻松应对这一负载。因此,无需引入连接池器来为你的架构增加不必要的复杂性。
非常感谢,Sam。确实,正如你所说,对于连接数不多的情况,这可能没有太大意义。此外,考虑到事务池化,这种情况下只有一个赢家。
不过,据我所知,pgbouncer 不支持高可用(HA),而 pgpool II 支持。如果在 pgpool 前面部署一个 pgbouncer 以实现高可用功能,是否可行?对于 Discourse 来说,什么样的 HA 方案最为推荐?
Discourse 通过全局配置开箱即用地支持高可用性 (HA)。
参见:GitHub - discourse/rails_failover · GitHub
并在此处查阅全局设置:discourse/config/discourse_defaults.conf at main · discourse/discourse · GitHub
您可以配置两个 pgbouncer,以实现高可用性模式或满足海量连接需求。