使用其中一个有什么优势吗?我只是在查看从我的进程中隐藏主服务器和从服务器的实际 IP 地址的选项,如果主服务器失败,则不必重新启动它们。
如果 Nagios 检测到失败的 master,我仍然想参与进行故障转移,包括告诉 HAproxy / PgBouncer 关于新的 master。
使用其中一个有什么优势吗?我只是在查看从我的进程中隐藏主服务器和从服务器的实际 IP 地址的选项,如果主服务器失败,则不必重新启动它们。
如果 Nagios 检测到失败的 master,我仍然想参与进行故障转移,包括告诉 HAproxy / PgBouncer 关于新的 master。
HAProxy 是一种低级高可用性和负载平衡解决方案。PgBouncer 为 PostgreSQL 结合了一个非常好的连接池和一个非常有限的负载平衡。
所以两者都有不同的目标,在我看来不能像“vs”那样进行比较。尽管它们可以相互结合使用,例如。如果需要使用 HAProxy 对多个副本之间的只读查询进行负载平衡,并且这些副本由它们自己的 PgBouncer 实例提供服务以获得池优势。
更多关于 PgBouncer 是什么以及它不包含在这个博客文章中的详细信息。
PgBouncer 工作在更高级别,将 N 个传入连接映射到 M 个数据库连接,而 HAProxy 本质上是 1:1 映射。因此,这为持有空闲连接的客户端提供了一道防线,例如,这在 HAProxy 中是不可能的(至少,我认为不是那么干净)。