問68 |
分散トランザクション処理で利用される2相コミットプロトコルでは、コミット処理を開始する調停者(coordinator)と調停者からの指示を受信してから必要なアクションを開始する参加者(participant)がいる。この2相コミットプロトコルに関する記述のうち、適切なものはどれか。 |
|
ア |
参加者は、フェーズ1で調停者にコミット了承の応答を返してしまえば、フェーズ2のコミット要求を受信しなくても、ローカルにコミット処理が進められる。 |
イ |
調停者に障害が発生するポイントによっては、その回復処理が終わらない限り、参加者全員がコミットもロールバックも行えない事態が起こる。 |
ウ |
一つの分散トランザクションに複数の調停者及び参加者が存在し得る。例えば、5個のシステム(プログラム)が関与している場合、調停者の数が2、参加者の数が3となり得る。 |
エ |
フェーズ1で返答のない参加者が存在しても、調停者は強制的にそのトランザクションをコミットすることができる。 |
|
|
解説 |
2相コミットは、1つの調停者が複数の参加者の間に入り同期をとることで、分散しているトランザクションの一貫性をとるアルゴリズムです。フェーズ1では、コミットができるかの要求をおこない、すべてが可能であるという返答が帰ってきた場合のみ、コミット要求を、それ以外はロールバック要求を各参加者に要求します。例を下に図示します。しかし、フェーズ1終了時に調停者に障害が発生すると、永久的に参加者は処理ができない状態が発生してしまいます。
|
|