dtm is a distributed transaction framework and polyglot transaction coordinator designed to maintain data consistency across microservices. It functions as a Saga orchestration engine and a two-phase message coordinator, ensuring that multi-service operations either succeed completely or roll back to a consistent state.
The project distinguishes itself by supporting multiple consistency patterns, including Saga, TCC, XA, and outbox patterns, allowing users to select the appropriate model for their specific application requirements. It provides a polyglot integration layer via HTTP and gRPC, enabling services written in different programming languages to participate in a single coordinated workflow.
Its broader capabilities cover anomaly prevention to block stale or duplicate requests, crash-resilient recovery mechanisms to resume interrupted transactions, and cache-database synchronization to align Redis states with persistent records. It also includes high-concurrency utilities for inventory handling and cache protection.
The system is designed for horizontal scaling and requires only a database server as an external dependency, supporting backends such as MySQL, Redis, MongoDB, and Postgres.