Architecture: The Hard Parts - workflow choreography vs orchestration
July 21st, 2022
orchestration: conductor at musical orchestra
choreography: dancers
Orchestration
single point of failure
services depend on orchestrator
lots of communication
order placement needs to be highly available
orchestrator needs to be highly available
order placements needs to be highly available
smaller orchestrator (vs Enterprise Service Bus)
eg. Order Placement Orchestrator, Order Cancellation Orchestrator
logic shifts to the orchestrator
error handling becomes a design decision
in the orchestrator?
in the service?
-> no new lines, so not architecture, but design
Choreography
highly available, only the starting service
event-driven architecture is typically choreographed
error handling
what if payment says: "oh, but they removed that credit card"
"where is my order?"
-> there is no state owner
either:
make order placement state owner
new customer facing service for state ownership
Hybrid
async or sync
This post was referenced in: