7
Macro Architecture: Preserving Consistency of State
Why Transactions?
Transactions help us avoid data inconsistencies. For example, many nodes participate in coordination logic. Due to scale or high availability, we might keep multiple copies of some data points whose values can drift while updates momentarily happen. Moreover, one of those nodes, networks, any outside dependencies, or communication can fail, stopping the complete execution or creating long-lasting inconsistencies. A well-designed app must never end up in an unexpected state regardless of the challenges.
Inconsistencies can take a second form also. Even running an app has side effects. For example, the bookshop app charges money from the customer to deliver books. Also, it ...
Get Software Architecture and Decision-Making: Leveraging Leadership, Technology, and Product Management to Build Great Products now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.