October 2018
Intermediate to advanced
556 pages
15h 18m
English
A distributed transaction is a transaction that updates data on two or more networked computer systems. In other words, a few services together in one accord agree whether a certain action happened or not. In practice, most database systems use strong, strict, and two-phase locking to ensure global serializability.
Distributed transactions are often used by services to update data stores atomically. They were frequently used in monolithic applications to ensure reliable action on different data stores. This facilitated proper recovery from failures at the same time. However, the usage of distributed transactions is discouraged nowadays between multiple microservices. There are a few reasons for this, but the most ...