Coordinate distributed transactions across multiple databases. Phase (prepare): coordinator asks all participants to prepare, they lock resources and vote yes/no. Phase (commit/abort): if all vote yes, commit; otherwise abort.
Problem: blocking. If coordinator fails after prepare, participants wait indefinitely. Use timeouts and recovery logs. Prefer saga pattern for long-running transactions.