|
|
|
|
|
by jwarden
590 days ago
|
|
Another architecture might be that the service responsible for Seat Selection emits a `SeatSelected` event, and another service responsible for updating bookings emits a `BookingUpdated(Reason: SeatSelected)` "fat" event. Same for `PaymentReceived` and `TicketIssued`. Both events would "describe a space of things that occurred" as @bob1029 suggests. The seat selection process for an actual airline probably needs to be more involved. @withinboredom recommends: - SeatTimeLimitedReserved {41A, 15m}
- SeatAssignedTo {UserA}
- SeatBooked {41A}
In which case, only SeatBooked would trigger a BookingUpdated event. |
|