Micro-services: Saga Design Pattern

The saga design pattern is a way to manage data consistency across software applications in distributed transaction scenarios. This will have non distributed transaction in each component and then sends event to trigger next transaction step in another computer. If any transaction fails, Saga will revert(compensating) each stage already completed. This pattern is defined in order to avoid locks on non local resources.

Photo by Devon Janse van Rensburg on Unsplash