[pgcluster: 967] 復旧中の更新クエリ処理について

Miki Hiratsuka hiramiki @ cseltd.co.jp
2007年 3月 29日 (木) 23:37:12 JST


いつもお世話になっております。
平塚と申します。

下記のメールの件についてご回答ありがとうございました。
[pgcluster: 965] Re: ロードバランサの障害検知契機について
現在開発中のものは1.7系、1.5系の対応は難しいため、
1.3系を利用したままとなっております。
そのため、アクセス用クラスタDBが落ちた場合、
下記のような起動方法で対応することにしました。
一方のロードバランサ停止→アクセス用DBリカバリ→一方のロードバランサ起動
→もう一方のロードバランサ再起動

現在、別件で確認させて頂きたいことがありまして、
メール差し上げています。

現在、[pgcluster: 965] のメールの記述のまま、
pgcluster-1.1.2rc6を使用し、
下記の構成で無停止稼動運用に向けて検証しております。
・レプリケーション2台
・ロードバランサ2台
・クラスタDB4台(うちMASTER2台)
マシンはロードバランサ+アクセス用DBで1台、
レプリケーション+MASTERDBで1台で運用試験を行っております。

高負荷でアクセスを行いながら、
アクセス用クラスタDBが落ちた場合、-Rコマンドで復旧を行いますが、
全ての処理が終わった時点で、復旧対象のアクセス用クラスタDBに、
差分が出ることが何度かありました。

そこで、復旧後の更新クエリについての挙動を2点ご教授ください。

1.更新クエリの反映方法
 復旧中、レプリケータ内部で更新クエリが蓄積され、
 復旧後、その更新クエリの反映方法は
 レプリケータから直接クラスタDBへ送信されるのでしょうか?
 それともレプリケータ→ロードバランサ→クラスタDBでしょうか?

2.更新クエリ反映中の更新クエリ増加の挙動
 更新クエリ反映中のレプリケータに対して、更新系処理がある場合の、
 運用する上での注意点等ございますでしょうか?
 更新中クエリを反映するに辺り、マスタDBは差分がなく、
 アクセス系DBに差分が出ていることから考えられることは ございますでしょうか?
 (全ての更新クエリが失敗するわけではないことから、
 高負荷時にどこかで取れこぼしがあるのかと危惧しております。)

多忙な所申し訳ございませんが、ご確認の程よろしくお願い致します。


/*****************************************
 * 株式会社シー・エス・イー
 * 開発本部 技術サポート室
 * Tel : 03-3463-5642 (内線:474)
 * Fax : 03-3463-5635
 * 平塚 美紀 <hiramiki @ cseltd.co.jp>
 *****************************************/




pgcluster メーリングリストの案内