Распределённые транзакции в микросервисах
Переход к микросервисам даёт гибкость, но разрушает привычную целостность данных: в разных сервисах — свои БД, и провести единую ACID-транзакцию почти невозможно.
Saga и Two‑Phase Commit (2PC) — два основных подхода.
Saga разбивает операцию на шаги + компенсирующие действия при ошибке, давая eventual-consistency и масштабируемость.
2PC пытается сохранить атомарность через координацию участников, но требует блокировок, тяжело масштабируется и ощущается как “распределённый монолит”.