# Pgbouncer 与 pgpool II 对比

**URL:** https://meta.discourse.org/t/pgbouncer-vs-pgpool-ii/188981
**Category:** Self-hosting
**Tags:** hosting
**Created:** [2021年五月3日 12:24 UTC](https://meta.discourse.org/t/pgbouncer-vs-pgpool-ii/188981 "2021-05-03T12:24:34Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![trobiyo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/trobiyo/32/311872_2.png) [@trobiyo](https://meta.discourse.org/u/trobiyo)
#### Post date: [2021年五月3日 12:24 UTC](https://meta.discourse.org/t/pgbouncer-vs-pgpool-ii/188981/1 "2021-05-03T12:24:34Z")

</div>

大家好，

我想知道你们中是否有人在使用 Discourse 时，有过使用 pgpool II 代替 pgbouncer 的经验？如果有，目前的感受如何？

团队是否考虑过在某个时间点采用它？如果是，原因是什么？

谢谢，  
Ismael

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2021年五月4日 00:29 UTC](https://meta.discourse.org/t/pgbouncer-vs-pgpool-ii/188981/2 "2021-05-04T00:29:19Z")

</div>

pgpool II 不支持事务池。在缺乏事务池的情况下，它在大规模托管场景中的价值极其有限，反而只会增加系统的复杂性。

在标准的“自托管”Discourse 部署中，你很难遇到超过 30-60 个活跃连接的情况，而 PostgreSQL 完全能够轻松应对这一负载。因此，无需引入连接池器来为你的架构增加不必要的复杂性。

---

<div class="post-metadata">

### Author: ![trobiyo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/trobiyo/32/311872_2.png) [@trobiyo](https://meta.discourse.org/u/trobiyo)
#### Post date: [2021年五月12日 10:01 UTC](https://meta.discourse.org/t/pgbouncer-vs-pgpool-ii/188981/3 "2021-05-12T10:01:25Z")

</div>

非常感谢，Sam。确实，正如你所说，对于连接数不多的情况，这可能没有太大意义。此外，考虑到事务池化，这种情况下只有一个赢家。

不过，据我所知，pgbouncer 不支持高可用（HA），而 pgpool II 支持。如果在 pgpool 前面部署一个 pgbouncer 以实现高可用功能，是否可行？对于 Discourse 来说，什么样的 HA 方案最为推荐？

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2021年五月13日 08:24 UTC](https://meta.discourse.org/t/pgbouncer-vs-pgpool-ii/188981/4 "2021-05-13T08:24:57Z")

</div>

> [@trobiyo](#):
>
> 我看到 pgbouncer 不提供高可用性 (HA)。

Discourse 通过全局配置开箱即用地支持高可用性 (HA)。

参见：[GitHub - discourse/rails\_failover · GitHub](https://github.com/discourse/rails_failover)

并在此处查阅全局设置：[discourse/config/discourse\_defaults.conf at main · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/master/config/discourse_defaults.conf)

您可以配置两个 pgbouncer，以实现高可用性模式或满足海量连接需求。
