For transaction coordinators, the strongest matches are apache/incubator-seata (Seata is a distributed transaction coordinator that provides saga), dtm-labs/dtm (It is a dedicated distributed transaction coordinator that implements) and eventuate-tram/eventuate-tram-sagas (Eventuate Tram Sagas is a distributed transaction coordinator framework). yedf/dtm and seata/seata round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked open-source distributed transaction coordinators, ranked by GitHub stars and activity. Compare the top alternatives and find the best fit.
Seata is a distributed transaction coordinator designed to ensure data consistency and atomicity across microservices. It provides a centralized framework for managing global transactions, preventing partial data updates across different databases and services. The project implements multiple transaction modes to balance consistency and performance. This includes an automatic mode that uses rollback logs to coordinate compensation without modifying business logic, a try-confirm-cancel pattern for resources lacking native ACID support, and a saga orchestration engine for managing long-lived bu
Seata is a distributed transaction coordinator that provides saga pattern support, two-phase commit support, and failure recovery and compensation to ensure data consistency across microservices.
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, e
It is a dedicated distributed transaction coordinator that implements Saga, TCC, XA, and outbox patterns to guarantee data consistency across microservices with built-in failure recovery and compensation mechanisms.
Eventuate Tram Sagas is a framework for managing distributed transactions across microservices. It functions as an event-driven workflow engine that coordinates complex business processes by executing sequences of local operations and maintaining state transitions across independent service boundaries. The framework implements the transactional outbox pattern to ensure atomicity between database updates and message publishing. It coordinates distributed workflows through asynchronous messaging, utilizing a message broker to decouple services and guarantee reliable delivery of commands and rep
Eventuate Tram Sagas is a distributed transaction coordinator framework that uses the saga pattern with compensating transactions and state persistence to manage microservice workflows, though it lacks built-in support for two-phase commit.
dtm is a distributed transaction framework and workflow orchestrator designed to manage data consistency across microservices. It functions as a centralized coordinator that synchronizes distributed transactions and manages the state and execution flow of complex sequences of distributed tasks. The framework implements several coordination patterns, including Saga, TCC, and XA, to prevent synchronization errors. It specifically provides a multi-language transaction coordinator to synchronize operations across services written in different programming languages and utilizes a reliable messagin
This framework acts as a dedicated distributed transaction coordinator and workflow orchestrator, supporting Saga, TCC, and XA patterns, state persistence, failure recovery, and cross-service orchestration.
Seata is a distributed transaction coordinator and consistency framework designed to maintain data integrity across multiple microservices. It functions as a manager that synchronizes state across separate databases to ensure atomic commits or rollbacks of global transactions. The project provides a toolkit for implementing distributed transaction patterns, using a two-phase commit protocol and centralized status tracking to prevent data anomalies. It orchestrates eventual consistency through state-machine-based tracking and message-driven coordination to handle timeouts and failures in distr
Seata is an open-source distributed transaction coordinator that provides two-phase commit support, saga-style state machine orchestration, failure recovery with undo logs, and distributed lock management to maintain data consistency across microservices.
Hmily is a distributed transaction framework and data consistency manager designed to maintain state across multiple services. It operates as a coordinator that tracks transaction states across remote procedure calls to manage nested operations and ensure atomic completions. The project implements the SAGA pattern to orchestrate long-running business processes through a sequence of local transactions and automated compensating actions. It distinguishes itself by automating the generation and execution of rollback scripts for relational databases to recover from business exceptions and restore
Hmily is a distributed transaction framework that supports the Saga pattern and state coordination across microservices, though it focuses heavily on the TCC and Saga paradigms rather than providing full two-phase commit support out of the box.
Cadence is a distributed workflow orchestration engine designed to execute long-running, asynchronous business logic with built-in durability and resilience across distributed systems. It functions as a stateful process manager that ensures processes resume from their last known state following system crashes or network outages. The platform utilizes a distributed task queue to manage work across independent worker nodes and supports persistence via SQL or Cassandra backend storage. It includes a workflow visualization dashboard for inspecting execution histories and state traces, alongside a
Cadence is a robust distributed workflow orchestration engine that handles durable execution, state persistence, and failure recovery for complex business logic, though it approaches distributed transactions through general workflow orchestration rather than a dedicated saga or two-phase commit framework.
Conductor is a durable workflow engine designed to orchestrate complex, long-running business processes and autonomous agent loops. It functions as a stateful execution platform that persists the entire history of a process, ensuring that workflows remain reliable and recoverable across infrastructure failures, system restarts, and transient network errors. By managing task lifecycles, worker polling, and state transitions, it provides a centralized coordination layer for distributed systems. The platform distinguishes itself through its specialized support for AI agent orchestration, allowin
Conductor is a durable workflow and orchestration engine that manages stateful processes across microservices, though it focuses more on general workflow automation than dedicated saga pattern or two-phase commit protocols.
tx-lcn is a distributed transaction framework and Java transaction middleware designed to manage atomic operations and data consistency across multiple microservices and relational databases. It functions as a distributed transaction coordinator that synchronizes commit and rollback operations to ensure global data integrity. The system provides a microservice consistency manager that tracks and resolves transaction flows across service boundaries. It features an integration layer compatible with middleware such as Spring Cloud, Dubbo, and Motan, allowing it to operate across different servic
This Java-based distributed transaction middleware synchronizes atomic operations across microservices and databases, making it the right kind of tool despite lacking some advanced orchestration features like explicit saga patterns.
This project is a Java implementation of the try-confirm-cancel pattern, providing a distributed transaction framework and management library. It functions as a coordinator that manages the lifecycle of multi-phase transactions to ensure consistency across multiple distributed services. The framework includes a distributed transaction coordinator server that offloads event and task operations from local services. It also provides a dedicated dashboard for visualizing transaction status and manually operating distributed events and tasks. The system manages consistency through a three-phase c
This project is a Java-based distributed transaction coordinator implementing the Try-Confirm-Cancel pattern to ensure consistency across microservices, matching the required domain while focusing specifically on the TCC approach rather than general Saga or two-phase commit workflows.
Spring Cloud Alibaba is a suite of libraries designed to connect distributed Java applications to Alibaba cloud middleware and infrastructure services. It provides a comprehensive set of tools for messaging, configuration, task scheduling, transaction coordination, and service discovery. The project implements distributed infrastructure capabilities including a transaction coordinator for maintaining data consistency across multiple services and a configuration manager for storing external settings in a centralized cloud repository with automatic updates. It includes a distributed job schedul
Spring Cloud Alibaba is a comprehensive suite of distributed Java infrastructure libraries that includes a transaction coordinator alongside service discovery and messaging tools, though it functions more as a broad ecosystem integration than a dedicated standalone orchestrator.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| apache/incubator-seata | 26K | Java | Apache-2.0 | |
| dtm-labs/dtm | 10.9K | Go | BSD-3-Clause | |
| eventuate-tram/eventuate-tram-sagas | 1.1K | Java | NOASSERTION | |
| yedf/dtm | 10.9K | Go | BSD-3-Clause | |
| seata/seata | 26K | Java | Apache-2.0 | |
| dromara/hmily | 4.2K | Java | Apache-2.0 | |
| uber/cadence | 9.3K | Go | Apache-2.0 | |
| conductor-oss/conductor | 32K | Java | Apache-2.0 | |
| codingapi/tx-lcn | 4.2K | Java | Apache-2.0 | |
| changmingxie/tcc-transaction | 5.8K | Java | Apache-2.0 |