したがって、私はpostgresqlサーバーに高可用性を追加したいと考えています。 Webでいくつかのチュートリアルを調べましたが、探しているものが正確に見つかりませんでした。
例えば。:
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サーバーが単一障害点ではなかった場合にのみ、完璧であるように見えます。
したがって、私の質問は、Webサーバーのプールが負荷を分散するようにHAProxyクラスターを追加すると、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に必要なすべてを実行します。
見てください この投稿で -それは確かに役立ちます。
「フローティングIP」を備えた2つのサーバーでpgpoolを実行している場合、HAがあります。
フローティングIP /ポートでの直接サービス。一方が消えた場合、もう一方がリクエストを処理し始める必要がありますか?
追加のHAProxyレイヤーは必要ありません。