8.3 トランザクションのタイムアウトについて

リクエストをアクティブにしておく期間を指定します。この値は、TCCトランザクションに参加する各マイクロサービスに固有です。トランザクションが、指定した期間内にマイクロサービスによって確定または取り消されない場合、トランザクションは取り消されます。

TCCトランザクションでは、トランザクション・イニシエータ・サービスが、すべての参加側サービスの予約のステータスを収集し、トランザクションを確定するか取り消すかを決定します。また、MicroTxによって、すべての参加側サービスが予約を確定するか取り消すことが保証されます。MicroTxがトランザクションを確定するリクエストを送信したとき、一部の参加側サービスがトランザクションを確定しても、それ以外の参加側サービスでトランザクションがタイムアウトすることがあります。トランザクションがタイムアウトした場合に備え、予約を取り消してリソースを解放するために必要なコードを用意するのは、アプリケーション開発者の責任です。MicroTxは、トランザクション・イニシエータのビジネス・ロジックで行われた決定に基づいて、予約を確定するか取り消すリクエストをすべての参加側サービスに送信します。