[pgsql-jp: 36601] Webサーバ冗長化構成での pgpool の配置

keigo ito keigo.ito @ gmail.com
2006年 1月 7日 (土) 15:42:38 JST


pgsql-jp の皆様:

初めて投稿させていただきます。伊藤と申します。
以下、pgpool について初歩的な質問でしたら申し訳ございません。


・WebServer1
    pgpool -----+---- DBServer1(master)
                |
                +---- DBServer2(secondary)

・WebServer2
    pgpool -----+---- DBServer1(master)
                |
                +---- DBServer2(secondary)

上図のようにWebサーバの冗長構成を組んでおり、各Webサーバ上でpgpoolを配置しています。
Webサーバのローカルでpgpoolを稼動させているのは、UNIXドメインソケット経由でWebサーバ
から接続させることで高速化させようという狙いです。


◆ ここで問題(疑問)なのですが、万が一、

  Web1 の pgpool で縮退運転が開始 → master up, secondary down の状態
  Web2 の pgpool で縮退運転が開始 → master down, secondary up の状態

といったことが起こり得るため、上図のような構成は不適切なのでしょうか?

◆ その問題を解消するには、やはりアプリケーション全体で pgpool を1つだけにすべきなのでしょうか?
その場合、pgpool自体の冗長構成を組むことができないのでしょうか?
(pgpoolがシングルポイントになってしまう)

◆ 同じようなWebServer 2台、DBServer 2台の構成で、最適なシステム構成をご存知の方、実績の
ある方がいらっしゃいましたら、ぜひアドバイスを頂けないでしょうか?

まだまだPostgreSQL、pgpoolを勉強中であります。
何卒、よろしくお願いいたします。


◇ 参考

・OS(WebServer1,WebServer2,DBServer1,DBServer2)
Red Hat Enterprise Linux ES release 3

・PostgreSQL(DBServer1,DBServer2)
PostgreSQL 8.1

・pgpool.conf 設定内容(抜粋)(WebServer1,WebServer2)
replication_mode = true
replication_strict = true
load_balance_mode = true
replication_stop_on_mismatch = true
insert_lock = true



pgsql-jp メーリングリストの案内