Monolithic systems and individual services leverage ACID transactions to perform commits and rollbacks on multiple table updates within a single unit of work. Distributed systems, on the other hand, leverage what are known as BASE transactions to manage distributed transactions and eventual consistency between separate data sources. In this lesson Mark Richards describes the difference between ACID and BASE transactions and illustrates three patterns of eventual consistency within BASE transactions. As he demonstrates these patterns, he also discusses the advantages and disadvantages of each approach.
Reference Links:
Workflow Event Pattern: https://www.developertoarchitect.com/lessons/lesson81.html
Software Architecture Monday: https://bit.ly/3dadEe3
Fundamentals of Software Architecture: https://amzn.to/3rgFLjY
Software Architecture: The Hard Parts: https://amzn.to/3BjMMF2
Training Classes: https://www.developertoarchitect.com/training/