dtm-labs/dtm

A distributed transaction framework, supports workflow, saga, tcc, xa, 2-phase message, outbox patterns, supports many languages.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 27 minutes ago
Added to GitGenius on September 5th, 2026
Created on May 16th, 2021
Open Issues & Pull Requests: 87 (+0)
GitHub issues: Enabled
Number of forks: 1,000
Total Stargazers: 10,915 (+0)
Total Subscribers: 102 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 18.5 days
Mean response time: 30.1 days
90th percentile: 65.0 days
Tracked items: 41

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 20% of issues opened in the past year have been closed. Three people close 71% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 31
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 572 days
Stale 30+ days: 31
Stale 90+ days: 31

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

DTM is a distributed transaction framework that enables reliable coordination of operations across multiple services and databases using patterns like saga, TCC, XA, and outbox.

Distributed systems face the challenge of maintaining consistency when operations span multiple services that cannot be wrapped in a single ACID transaction. DTM solves this by providing a framework that orchestrates these cross-service operations using well-established patterns. The saga pattern breaks a distributed transaction into a sequence of local transactions with compensating actions for rollback. The TCC pattern enforces consistency through explicit prepare and commit phases. The XA pattern uses a two-phase commit protocol. The outbox pattern ensures reliable message publishing by coupling it with local database writes. The framework also supports workflow execution and a two-phase message pattern for additional consistency guarantees.

Teams building microservices that need transactional guarantees across service boundaries should consider DTM. It suits projects where operations must either fully succeed or cleanly roll back, such as payment processing, order management, or any workflow involving multiple autonomous services. The framework's support for multiple languages means polyglot teams can integrate it without being locked into a single technology stack. Developers should evaluate whether their consistency requirements justify the added operational complexity of a distributed transaction coordinator, as these patterns trade simplicity for reliability across service boundaries.

The project shows active development with regular commits addressing bug fixes and feature enhancements. The codebase demonstrates a focus on supporting multiple transaction patterns and languages, with ongoing work to expand compatibility and reliability. Documentation and examples receive consistent attention to help developers understand pattern selection and implementation details.