Postgresql
帶有 HA 代理的 PgPool 2
所以,我希望為 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 層。