7,380 open-source and SaaS tools, with GitHub stats refreshed every day.

DTM

Open source

DTM is an open-source distributed transaction manager that provides SAGA, TCC, XA, workflow and outbox patterns for consistent data across microservices.

Open-source alternative to

d.dtm.pub
DTM homepage screenshot
GitHub stars
11k
Last commit
9 mo ago
Repository age
5 years
Version
v1.19.0
Licence
BSD-3-Clause
Self-hosted
Yes

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
Built with
Go
Java
C#
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

SaaS alternatives to DTM

See all