デモ版のソースについて |
|
|
デモでお見せできなかったReplication Log機能を含むソースを公開します. |
|
1.Replication Logはどんな機能か? |
|
|
PGClusterではレプリケーションサーバに障害が発生した場合,待機系のレプリケーションサーバが用意されていれば,待機系に自動的に切り替わりますので,システムが止まることはありません.しかし,タイミング的にレプリケーションの途中で障害が発生していた場合,そのレプリケーションは途中で終了してしまいます.その結果クラスタDB間でデータの不整合が発生することになります.
そこで,レプリケーションサーバに障害が発生した場合でもクラスタDBのデータ整合性を保証する仕掛けとして考えたのがReplication Logです.まず,レプリケーションサーバがクエリーを受け取った場合,待機系のレプリケーションサーバにクエリーを送り,Replication Logとして保存します.レプリケーションサーバに障害が発生した場合,待機系のレプリケーションサーバから 保存しているReplication Log を使ってレプリケーションされていないクエリーを補完します.
|
|
2.設定方法 |
|
|
Replication Log機能を使う為には,待機系のレプリケーションサーバが必要です. |
|
|
(1)待機系のレプリケーションサーバでの設定 待機系のレプリケーションサーバの設定ファイル(pgreplicate.conf)にマスタ系のレプリケーションサーバの情報を設定します.
|
|
|
(2)マスタ系のレプリケーションサーバでの設定 マスタ系のレプリケーションサーバの設定ファイル(pgreplicate.conf)でReplication Logを有効にします.
| |
3.デモ用に障害を発生させるレプリケーションサーバを作るには |
|
|
レプリケーションの途中でレプリケーションサーバが落ちるようにするには,ヘッダファイル(pgreplicate.h)内でのdefine文を切り替えてコンパイルすることで動きの異なるレプリケーションサーバを作ることができます. <pgcluster-1.0.7rc_demo/src/pgcluster/pgrp/pgreplicate.h>
|
|
4.デモ版のソースのダウンロード |
|
| デモ版のソースはこちら(11,720.6KB) | |
| 注意点:このソースはデモ用です.データが壊れても良いテスト用の環境で試してください. | |