Một saga quản lý một giao dịch nghiệp vụ trải dài qua nhiều service như một chuỗi các transaction cục bộ. Nếu một bước thất bại, saga chạy các compensating transaction để hoàn tác các bước trước — không có rollback phân tán.
Tại sao không dùng distributed transaction?
Two-phase commit xuyên các service thì chậm, khóa tài nguyên, và gắn kết tính khả dụng. Saga cho eventual consistency mà không cần khóa phân tán.
