Choreography
Have each component of the system participate in the decision-making process about the workflow of a business transaction, instead of relying on a central point of control : Choreography pattern - Azure Architecture Center
Context and problem
We need to make different small services to work together in order to process a business transaction end-to-end, reducing point-to-point communication between the services.Solution
Choreography pattern allows a transaction to be executed in parallel steps and/or in sequences.
Features : Execution is sequenced by orders and/or events; each step of choreography becomes a consumable command/event; each process is responsible for subscribing to the required topic; coordination is decentralized.Choreography pattern with decentralized coordinationChallenges
a) Recover from a failure when a service fails
b) Orchestrator becomes a single point of failure
c) Independent business operations in parallel could bring complexity