...
Saga Pattern 1 - Synchronous / Atomic / Orchestration
...
Pattern Description
An orchestrator in this case the VRG coordinates the workflow of the involved services. All communication in this workflow are synchronous. The transaction boundary specifies that the transactions will either all succeed or none will. If one of the services involved in this workflow, fails, the orchestrator issues compensating calls to the preceding services to undo the changes that were made, as shown in the “Transaction Failed Path” diagram (Red Lines).
Pattern Characteristics | |
---|---|
Coupling | This saga pattern implementation exhibits high degree of coupling. This pattern closely resemblesthe communication style of a monolithic application. |
Complexity | Low level of complexity are associated with implementing this pattern, because it reduces the chances of race conditions and deadlocks. |
Responsiveness/Availability | Due the coordination done by the orchestator and the synchronous communication it will exhibit bottlenecks, and reduced performance under high loads. There is also a high chance that this implementation will fail when the services the orchestrator coordinates during the workflow are in an unrecoverable error state. |
Scale/Elasticity | Due to the communication style and coordination, scaling this pattern will prove to be difficult. |
Saga Pattern 2 - Synchronous / Atomic / Choreography
Glossary
Term | Definition |
---|---|
Atomic | |
Bottlenecks | |
Elasticity | |
CDS | |
VRG | |
VDS | |
VRS | |
WMS | |
Sync |