Slide 42
Slide 42 text
MicroTxによるSagaパターン実装時の一連のシーケンス
正常ケースのSagaトランザクションの流れ
Copyright © 2023, Oracle and/or its affiliates. All rights reserved. |
42
POST /trip
PUT /complete (LRA_ID)
complete (LRA_ID)
console
flight
(participant)
MicroTx
(Saga:LRA)
hotel
(participant)
trip-manager
(initiator)
POST /hotel (LRA_ID, hotelName)
POST /flight (LRA_ID, flightName)
close (LRA_ID)
book (LRA_ID, hotelName)
book
(LRA_ID, flightName)
complete (LRA_ID)
join (LRA_ID, ‘/complete’, ‘/compensate’)
join (LRA_ID, ‘/complete’, ‘/compensate’)
startLRA (), join(LRA_ID, ..)
PUT /complete (LRA_ID)
PUT /trip/{bookingId}
header: LRA_ID
header: LRA_ID
仮予約
確定
MicroTxのライブラリとLRA
フレームワークにより隠蔽される実装
Database
HOTEL FLIGHT
PROVISIONAL
PROVISIONAL
CONFIRMED
CONFIRMED
Step 1 : 仮予約
trip-manager
flight
hotel
console trip-manager
console
flight
hotel
Step 2 : 確定