13.3 サンプルTCCアプリケーションについて
インストール・バンドルに含まれるサンプルTCCアプリケーションを使用して、TCCトランザクションでマイクロサービスとMicroTxが相互に作用する方法について説明します。
サンプル・アプリケーションは、TCCトランザクション・プロトコルとMicroTxを使用してトランザクションを調整します。MicroTxライブラリはすでにサンプル・アプリケーション・コードと統合されています。
サンプルTCCアプリケーションによって実装されるシナリオでは、旅行代理店マイクロサービスが旅行を予約し、航空券予約サービスが航空券を予約し、ホテル予約マイクロサービスがホテルを予約します。旅行代理店サービスは、航空券予約サービスとホテル予約サービスの両方にアクセスします。顧客が航空券とホテルを予約すると、顧客が支払を完了して予約を確定するまで、その予約が押さえられています。何らかのエラーが発生すると、予約されていたリソースが取り消され、リソースはインベントリに戻されます。
次の図に示すサンプルTCCアプリケーションには、いくつかのマイクロサービスが含まれています。これはMicroTxを使用してTCCトランザクションを管理する方法を示しています。

サンプルTCCアプリケーションは、次のマイクロサービスで構成されます:
- MicroTx (TCCコーディネータ)
- 旅行代理店サービスは、トランザクション・イニシエータ・サービスです。ここで、TCCトランザクションが開始します。ホテル客室と航空券予約するAPIと取り消すAPIを提供します。旅行を予約する際に、このサービスが、航空券予約サービスとホテル予約サービスをコールします。また、トランザクションを完了するために、確定コールまたは取消しコールをトランザクション参加側サービスに送信します。
- ホテル予約サービスはトランザクションに参加するため、トランザクション参加側サービスとも呼ばれます。ホテル客室予約を確定するAPIと取り消すAPIを提供します。
- 航空券予約サービスはトランザクションに参加するため、トランザクション参加側サービスとも呼ばれます。航空券予約を確定するAPIと取り消すAPIを提供します。
TCCサンプル・アプリケーションのコードは、microtx-samples
GitHubリポジトリtcc
のフォルダにあります。サンプルTCCアプリケーションのコードは、Node.jsおよびJavaで提供されています。サンプル・アプリケーションを実行する際には、3つのサンプル・マイクロサービスすべてをNode.jsまたはJavaで構築します。Javaの旅行代理店サービスとNode.jsのホテル予約サービスを一緒に実行しようとしないでください。
親トピック: サンプル・アプリケーションのデプロイ