Coordinator
Flights
service
Hotels
service
Cars
service
Request
& Lock
Coordinator
Flights
service
Hotels
service
Cars
service
NO
YES
UNLOCK
Coordinator
Flights
service
Hotels
service
Cars
service
YES
COMMIT & UNLOCK
API
Flights
service
Hotels
service
Cars
service
(C) Book flight
(E) Flight booked
(E) Hotel booked
(E) Car rental rejected
Process manager
Saga pattern
API
Flights
service
Hotels
service
Cars
service
(C) Book flight
(E) Flight booked
(E) Hotel booked
(E) Car rental rejected
Saga
(C) Book hotel
(C) Rent car
Compensate
Chronicle
Process manager/saga pattern framework for .NET Core
AVOIDING distributed transactions
BEST:
Event Choreography
SIMPLE TRACKING:
Process manager/Saga
IF NECESSARY:
@d_pawlukiewicz
foreverframe.net