rights reserved. | 44 POST /trip PUT /compensate (LRA_ID) compensate(LRA_ID) console flight (participant) MicroTx (Saga:LRA) hotel (participant) trip-manager (initiator) POST /hotel (LRA_ID, hotelName) POST /flight (LRA_ID, flightName) cancel (LRA_ID) book (LRA_ID, hotelName) book (LRA_ID, flightName) compensate (LRA_ID) join (LRA_ID, ‘/complete’, ‘/compensate’) join (LRA_ID, ‘/complete’, ‘/compensate’) startLRA (), join(LRA_ID, ..) PUT /compensate (LRA_ID) 予約処理失敗 (エラー応答) 仮予約 status 500 MicroTxのライブラリとLRA フレームワークにより隠蔽される実装 Database HOTEL FLIGHT PROVISIONAL FAILED CANCELED 予約失敗 LRA対象のメソッドが例外終了することで 自動的にMicroTxにcancel指示を出す Step 1 : 仮予約 Step 2 : 予約失敗 trip-manager flight hotel console trip-manager console flight hotel