About DTM
DTM is a distributed transaction framework that keeps data consistent across services and databases. When an operation spans several microservices, such as moving money between banks, DTM coordinates the steps so the end result is eventually consistent even if one service fails partway through.
It supports several transaction patterns, including SAGA, TCC, XA, workflow and outbox, and offers a two-phase message approach that it presents as a cleaner alternative to the usual outbox pattern. SDKs exist for Go, Java, PHP, C#, Python and Node.js. It works with MySQL and MariaDB, Redis, MongoDB and Postgres, and stores its own state in engines such as MySQL, Redis or BoltDB for development.
DTM is written in Go and released under the BSD-3-Clause licence. It is designed for high availability and horizontal scaling, and integrates with microservice frameworks like go-zero and Kratos. Typical scenarios include cache consistency, inventory deduction in flash sales and order systems, so it suits backend teams working on distributed systems.
Key features
- SAGA, TCC, XA, and outbox patterns
- Workflow mode for composed transactions
- SDKs for Go, Java, PHP, and more
- MySQL, Redis, MongoDB, and Postgres support
- Pluggable storage engines for coordinator state
- Horizontal scaling and high availability
Good fit for
- →Keeping orders and inventory consistent across services
- →Guaranteeing cache and database consistency
- →Replacing hand-written outbox code
- Tags
- distributed-transactions
- saga
- tcc
- xa
- outbox
- microservices
- go
- workflow
- bsd-3-clause
DTM: questions and answers
- What is DTM used for?
- DTM is an open-source distributed transaction manager that provides SAGA, TCC, XA, workflow and outbox patterns for consistent data across microservices. It is a good fit for keeping orders and inventory consistent across services, guaranteeing cache and database consistency, and replacing hand-written outbox code.
- Is DTM open source?
- Yes. DTM is open source under the BSD-3-Clause licence. Its source code is on GitHub at dtm-labs/dtm and is written mainly in Go.
- Is DTM free?
- Yes. DTM is open source, so the software itself is free to use.
- Can I self-host DTM?
- Yes. DTM can be self-hosted on your own server or infrastructure.
- What is DTM an alternative to?
- DTM is an open-source alternative to Cleaner.
- Is DTM actively maintained?
- The most recent commit to DTM was on 3 January 2026, and the latest release is v1.19.0, published on 4 February 2025. The project has 11k stars on GitHub.
Open-source alternatives to DTM
See all
NATS
Infrastructure & Containers
High-Performance server for NATS.io, the cloud and edge native messaging system.
Apache-2.0★ 21k
Talos Linux
Infrastructure & Containers
Talos Linux is a modern Linux distribution built for Kubernetes.
MPL-2.0vs Amazon EKS★ 11k
Arcane
Infrastructure & Containers
Arcane - Docker Management, Designed for Everyone.
BSD-3-Clause★ 7.7k
KubeVirt
Infrastructure & Containers
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.
Apache-2.0vs Amazon EC2★ 7.1k
Incus
Infrastructure & Containers
Powerful system container and virtual machine manager
Apache-2.0vs Amazon EC2★ 6.3k
Harvester
Infrastructure & Containers
Open source hyperconverged infrastructure (HCI) software
Apache-2.0vs Amazon EC2★ 5.2k
SaaS alternatives to DTM
See all
Cleaner
Productivity
Mobile app that frees up device storage using AI to find unneeded files
SaaS
Amazon ECS
Infrastructure & Containers
Managed container orchestration service on AWS
SaaS
Azure Container Apps
Infrastructure & Containers
Serverless container service on Azure for microservices and jobs
SaaS
Amazon ECR
Infrastructure & Containers
Managed container image registry on AWS
SaaS
Amazon EKS
Infrastructure & Containers
Managed Kubernetes control plane and worker nodes on AWS
SaaS
Red Hat Ansible Automation Platform
Infrastructure & Containers
Enterprise automation platform for infrastructure, network and cloud provisioning
SaaS

