Two-Phase Commit: The Protocol That Keeps Distributed Transactions Honest https://singhajit.com/distributed-systems/two-phase-commit/