December 2018
Intermediate to advanced
500 pages
12h 19m
English
A monolithic application typically has a single compute code base accessing a single relational database with Atomicity, Consistency, Isolation, and Durability (ACID) semantics. As a result, typically, multi-table updates triggered by external requests are easy to do by issuing the update statements under a transaction (Chapter 8, Modeling Data, covers these concepts in detail). When this monolith gets decomposed into microservices, each microservice gets its own database (to avoid coupling). Distributed transactions are possible, but avoidable due to following reasons: