[pgsql-jp: 36613] Re: Webサーバ冗長化構成での pgpool の配置
Tatsuo Ishii
ishii @ sraoss.co.jp
2006年 1月 12日 (木) 09:37:27 JST
石井です.
> 石井さん:
>
> 伊藤です。迅速、丁寧なご回答、まことに有難うございます。
どういたしまして.
> > 個人的には、
> >
> > replication_stop_on_mismatch = false
> >
> > で運用した方が、ささいなことで縮退しないのでよいと思います。
> > そのかわりhealth checkを入れてDBサーバの状態を監視するようにした方が良
> > いのではないでしょうか。health checkがないと、DBにアクセスに行くまで障
> > 害を検知できませんので。
>
> アドバイスの通り、
> replication_stop_on_mismatch = false
> health_check_timeout = 10
> health_check_period = 10
> health_check_user = 'xxx'
>
> を追加しました。
> 蛇足ですが、
> > replication_stop_on_mismatch = false
> >
> > で運用した方が、ささいなことで縮退しないのでよいと思います。
>
> この「ささいなこと」とはどういったことが考えられますか?
>
> README によると、
> > replication_stop_on_mismatch
> >
> > trueを指定するとマスタとセカンダリの間でデータの不一致があった場合
> > に強制的に縮退運転に入ります.このオプションがfalseの場合は,該当の
> > 問い合わせを強制的に終了するだけに留めます.デフォルト値はfalseです.
>
> とのことですが、具体的にどういったことが想定されるのか、「ささいなこと」の不一致によるデータ整合性の欠如の問題がないのか等、向学のためにご教授頂ければと思います。
失礼しました.前のメールを読み返してみたら,ロードバランスを有効にして
いるので,replication_stop_on_mismatch = trueでも問題ないと思います.
私が想定していたのは,ロードバランスを無効にしている場合の検索結果の不
整合による縮退です.
1) 間違ってマスタやセカンダリに直接接続してデータを登録してしまった結果,
同じテーブルでもデータ件数が一致しなくなった
2) そもそもデータ件数が一致しないかもしれない問い合わせを発行した.たと
えば,random()やcurrent_timestapを使った問い合わせなど
3) 負荷の高いシステムで,タイミングによってたまたまデータ件数が一時的
に一致しなくなった
のようなケースを考えていました.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
pgsql-jp メーリングリストの案内