Postgresql

帶有 HA 代理的 PgPool 2

  • October 24, 2016

所以,我希望為 postgresql 伺服器添加高可用性。我查看了網路上的一些教程,但無法準確找到我正在尋找的內容。

例如:

PostgreSQL 複製和熱備——實踐 http://blog.3dtin.com/2012/07/26/postgresql-replication-and-hot-standby-in-practic/

是關於如何設置它的一個很好的教程,但是故障轉移是手動的。

使用 PostgreSQL 和 Pgpool2 進行複制和負載平衡 http://www.keyup.eu/en/blog/89-replication-and-load-balancing-with-postgresql-and-pgpool2

似乎只有當 pgpool 伺服器不是單點故障時才完美。

所以,我的問題是,如果我添加一個 HAProxy 集群,就像任何 Web 伺服器池分配負載一樣,我是否能夠自動故障轉移到 pgpool 並因此轉移到 postgresql 伺服器?

                   Application Servers
                            |
                            |
         ip1 -------- (floating) ip3 -------- ip2
       HAPROXY   ------- hearbeat -------- HAPROXY
       pgpool II                           pgpool II
        |    \                             /     |
        |     \                           /      |
        |      \                         /       |
       ip4<-----\-----------(to same master ip4) |
   postgres      ip5<------------------(to same slave ip5)
    Master      postgres
                slave

是的,您不需要使用最新版本 pgpool-II 的 HAProxy。我不確定它是在哪個版本中引入的,但是現在嵌入在 pgpool 中的“看門狗”功能可以完成自動故障轉移和真正 HA 所需的一切。

看看這篇文章- 它肯定會有所幫助。

如果你在兩台伺服器上執行 pgpool 並使用“浮動 ip”,那麼你的 HA 就可以了!

浮動 ip/port 上的直接服務,如果一個消失,請求應該開始由另一個服務?

不需要額外的 HAProxy 層。

引用自:https://dba.stackexchange.com/questions/58769