For distributed transaction protocols, the strongest matches are yedf/dtm (dtm is a comprehensive distributed transaction coordinator that natively), apache/incubator-seata (Seata is a comprehensive distributed transaction coordinator that natively) and dtm-labs/dtm (This is a comprehensive distributed transaction coordinator that natively). dromara/hmily and seata/seata round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Explore the best distributed transaction protocols. Compare top open-source implementations by activity and features to find the best fit for your stack.
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
dtm is a comprehensive distributed transaction coordinator that natively supports the Saga pattern, two-phase commit, and message queue integration, making it a direct fit for managing consistency across microservices.
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 comprehensive distributed transaction coordinator that natively supports the saga pattern, two-phase commit, and various compensation mechanisms to ensure consistency across microservices and heterogeneous databases.
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
This is a comprehensive distributed transaction coordinator that natively supports the Saga pattern, two-phase commit, and various other consistency models while integrating with multiple message queues and databases.
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 coordinator that provides native support for the Saga and TCC patterns, making it a comprehensive solution for managing consistency across microservices and heterogeneous databases.
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 a dedicated distributed transaction coordinator that natively supports both two-phase commit and saga patterns, providing the necessary orchestration and message-driven consistency required for managing transactions across microservices.
TinyKV is a distributed key-value store designed for storing and retrieving data across multiple nodes with high availability. It functions as a distributed database system that incorporates a dedicated key-value storage engine for raw data persistence and retrieval on individual nodes. The project includes a Raft consensus engine to ensure data consistency and fault tolerance across a cluster of servers. It also features a distributed transaction manager that coordinates atomic commits and concurrency control to maintain data integrity across shards. The system covers cluster membership man
TinyKV is a distributed key-value store that includes a built-in transaction manager capable of coordinating atomic commits, making it a functional implementation of distributed transaction coordination within a storage system.
Vitess is a database clustering system for horizontal scaling of MySQL. It functions as a middleware layer that abstracts complex sharding and physical topology, allowing applications to interact with a distributed database environment through a unified interface. By intercepting and routing SQL queries across multiple shards, it enables large-scale data management while maintaining the appearance of a single database instance. The platform distinguishes itself through its ability to perform online schema migrations and distributed transaction coordination without requiring application downti
Vitess is a database clustering system that provides distributed transaction coordination specifically for MySQL environments, making it a specialized tool for managing consistency across sharded database instances.
ShardingSphere is a distributed SQL database middleware that provides sharding, read-write splitting, and distributed transaction management for relational databases. It functions as a layer that intercepts SQL queries to distribute data across multiple physical database instances for horizontal scaling. The project is distinguished by its ability to operate as either a standalone transparent database proxy or via direct integration as a JDBC driver. It features a SQL dialect translator that parses queries into abstract syntax trees to convert syntax between different database engines, enabli
ShardingSphere provides distributed transaction management capabilities including support for both two-phase commit and the saga pattern, functioning as a middleware layer that coordinates consistency across multiple database instances.
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 dedicated distributed transaction coordinator that implements the TCC pattern to manage consistency across services, serving as a functional tool for distributed transaction management despite its specific focus on TCC rather than the full suite of requested patterns.
Spring Cloud Alibaba is a microservices orchestration framework that provides a standardized programming model for building distributed systems. It functions as a cloud-native integration layer, bridging enterprise application frameworks with distributed infrastructure to manage service discovery, traffic control, and state consistency across complex, multi-part application environments. The framework distinguishes itself through specialized components for managing distributed operations, including aspect-oriented traffic control that enforces flow rules, circuit breaking, and rate limiting a
This framework provides a comprehensive suite for microservices orchestration, including a dedicated distributed transaction component that supports both the Saga and TCC patterns for managing consistency across services.
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
This library provides a framework for implementing the saga pattern in Java-based microservices, offering a structured way to manage distributed transactions and consistency across services.
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 framework functions as a distributed transaction coordinator for Java microservices, providing the necessary infrastructure to manage atomic operations and consistency across service boundaries.
Mycat-Server is a MySQL database middleware system that functions as a sharding proxy, distributed database coordinator, and high availability manager. It acts as a proxy layer that routes SQL traffic between applications and multiple backend MySQL database instances to enable horizontal scaling. The system coordinates distributed transactions, generates global unique sequences to prevent primary key collisions, and executes distributed join queries across multiple database shards. It includes a load balancer that performs read-write splitting by directing traffic between primary and slave no
This is a database middleware and sharding proxy that provides distributed transaction coordination specifically for MySQL environments, fitting the category while being more specialized than a general-purpose transaction coordinator.
| Dépôt | Stars | Langage | Licence | Dernier push |
|---|---|---|---|---|
| yedf/dtm | 10.9K | Go | BSD-3-Clause | |
| apache/incubator-seata | 26K | Java | Apache-2.0 | |
| dtm-labs/dtm | 10.9K | Go | BSD-3-Clause | |
| dromara/hmily | 4.2K | Java | Apache-2.0 | |
| seata/seata | 26K | Java | Apache-2.0 | |
| talent-plan/tinykv | 3.9K | Go | Apache-2.0 | |
| vitessio/vitess | 20.8K | Go | apache-2.0 | |
| apache/shardingsphere | 20.7K | Java | Apache-2.0 | |
| changmingxie/tcc-transaction | 5.8K | Java | Apache-2.0 | |
| alibaba/spring-cloud-alibaba | 29.1K | Java | Apache-2.0 |