awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dtm-labs avatar

dtm-labs/dtm

0
View on GitHub↗
10,881 stars·1,000 forks·Go·BSD-3-Clause·12 vuesd.dtm.pub↗

Dtm

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, enabling services written in different programming languages to participate in a single coordinated workflow.

Its broader capabilities cover anomaly prevention to block stale or duplicate requests, crash-resilient recovery mechanisms to resume interrupted transactions, and cache-database synchronization to align Redis states with persistent records. It also includes high-concurrency utilities for inventory handling and cache protection.

The system is designed for horizontal scaling and requires only a database server as an external dependency, supporting backends such as MySQL, Redis, MongoDB, and Postgres.

Features

  • Distributed Transaction Coordinators - Acts as a centralized coordinator managing the execution sequence and state of distributed operations across independent services.
  • Saga Coordinators - Acts as a specialized coordinator for managing distributed transactions through local events and compensating rollback operations.
  • Transaction Idempotency - Filters duplicate requests and blocks null compensation, suspension, and stale operations to maintain transactional correctness.
  • Distributed Atomic Transactions - Combines business logic operations with a global transaction commit to ensure both succeed or fail together.
  • Distributed Transaction Participants - Connects with MySQL, Redis, MongoDB, and Postgres as active participants in a distributed transaction.
  • Global Transaction Session Persistence - Stores distributed transaction state and session information across various backends like MySQL, Redis, and MongoDB.
  • SDK Integrations - Provides language-specific SDKs for heterogeneous services to participate in coordinated transactions.
  • Automatic Completion Guarantees - Implements automatic retries for failed or interrupted operations after a process crash to ensure transactions reach a finished state.
  • Crash Recovery Resumptions - Queries the local database after a restart to determine the status of pending transactions and resume execution.
  • gRPC Microservices Integration - Accepts transaction requests over HTTP and gRPC to integrate with diverse service communication patterns.
  • Multi-Protocol Transaction Orchestration - Coordinates multi-service operations across TCC, SAGA, XA, and transaction message protocols to ensure data consistency.
  • Transactional Message Coordination - Guarantees atomic execution of local database operations and remote message delivery without requiring a message queue.
  • Polyglot Workflow Orchestration - Connects various language runtimes into a single transaction workflow to ensure consistent data processing.
  • Compensating Action Definitions - Allows registering specific rollback actions for each step to undo partial progress when any transaction step fails.
  • Rollback Workflows - Records completed steps and executes compensating actions to restore a consistent state when a distributed operation fails.
  • Automatic Compensation Coordination - Triggers automatic rollback operations for completed sub-transactions when a subsequent step in the process fails.
  • Two-Phase Commit Protocols - Guarantees atomic execution of local business operations and message submission using a prepared state and asynchronous confirmation.
  • Distributed Transaction Managers - Implements a system for managing complex distributed operations as sagas with automated compensation logic to avoid common transaction pitfalls.
  • Distributed Transaction Patterns - Supports multiple consistency patterns including Saga, TCC, XA, and Outbox to match specific application requirements.
  • Operation Idempotency - Filters duplicate requests for the same transaction to ensure business logic executes exactly once.
  • Request-Level Idempotency - Prevents duplicate side effects by tracking request identifiers and blocking stale or repeated transactional calls.
  • Database-Backed Persistence - Persists transaction logs and progress in external databases to ensure durability and support horizontal scalability.
  • Microservice Orchestration - Connects services written in different programming languages via HTTP or gRPC to participate in coordinated business workflows.
  • Transactional Workflow Execution - Runs user-defined sequences of transactional branches with individual forward and rollback logic as a single atomic unit.
  • Workflow Compensation Systems - Implements automated rollback and cleanup logic by invoking compensating actions when any step in a distributed workflow fails.
  • High-Concurrency Sales Systems - Coordinates inventory deduction and order creation to maintain eventual consistency during high-volume flash sales.
  • Cache Consistency Managers - Manages consistency between Redis cache and database records using two-phase message transactions.
  • Strongly Consistent Cache Reads - Routes all data reads through the cache and utilizes distributed transactions to update database and cache atomically.
  • Distributed Cache Synchronizers - Synchronizes cached data in Redis with the final state of database records after a distributed transaction completes.
  • Transactional Cache Updates - Uses a two-phase message pattern to atomically update the database and asynchronously update the cache for eventual consistency.
  • Memory-Optimized Processing - Processes thousands of requests per second by executing inventory checks and global transactions in memory.
  • Inventory Caches - Maintains precise alignment between Redis inventory and orders under extreme concurrency for flash sales.
  • Pluggable Storage Backends - Supports persisting transaction progress in MySQL, Redis, BoltDB, or MongoDB to balance performance and durability.
  • Crash Recovery Systems - Queries the local database after a crash to determine the prepared transaction's state and resume or abort the global transaction.
  • Horizontal Scaling Strategies - Distributes transaction coordination across multiple nodes to ensure high availability and handle increased load.
  • Lean Infrastructure Dependencies - Runs with only a database server as an external dependency, removing the need for message queues.
  • Reliable Message Delivery - Guarantees atomic delivery of events without external message queues by implementing the outbox and two-phase messaging patterns.
  • Queue-less Asynchronous Dispatch - Triggers remote service calls asynchronously without requiring dedicated message queue infrastructure.
  • Sub-Transaction Branching - Executes each service call as an independent branch with its own forward and rollback logic via a central orchestrator.
  • Transaction State Backchecks - Queries the local database after a crash to determine transaction status and resume or abort the global process.
  • Messaging Reliability - Uses Outbox or two-phase message patterns to ensure messages reach subscribers without data loss.
  • Message Delivery Guarantees - Guarantees eventual delivery of messages across services using a two-phase message pattern.
  • Polyglot Worker Protocols - Uses language-specific SDKs to connect heterogeneous services to the coordinator via HTTP or gRPC.
  • Distributed Transaction Anomaly Prevention - The project skips compensating operations when the corresponding forward operation was never executed to avoid unintended side effects.
  • Message Table Elimination - Eliminates the need for message queues and polling tasks by using a two-phase commit approach for eventual consistency.
  • Mixed Synchronous and Asynchronous Dispatch - Dispatches both asynchronous and synchronous downstream service calls within a single two-phase message transaction.
  • Outbox Pattern Implementations - Implements a reliable outbox pattern to manage event-driven communication between services.
  • Stale Request Blocking - Prevents inconsistent states by blocking late-arriving forward operations that occur after a transaction has already rolled back.
  • Synchronous Transaction Awaiting - Blocks the caller until all downstream services in a transaction finish to coordinate business logic requiring immediate confirmation.
  • Transactional Outbox Patterns - Guarantees reliable event publishing by recording messages in a local database before dispatching them to downstream services.
  • Stale Request Blocking - Detects and blocks stale or out-of-order requests that could cause inconsistent state in a distributed transaction.

Historique des stars

Graphique de l'historique des stars pour dtm-labs/dtmGraphique de l'historique des stars pour dtm-labs/dtm

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait dtm-labs/dtm ?

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.

Quelles sont les fonctionnalités principales de dtm-labs/dtm ?

Les fonctionnalités principales de dtm-labs/dtm sont : Distributed Transaction Coordinators, Saga Coordinators, Transaction Idempotency, Distributed Atomic Transactions, Distributed Transaction Participants, Global Transaction Session Persistence, SDK Integrations, Automatic Completion Guarantees.

Quelles sont les alternatives open-source à dtm-labs/dtm ?

Les alternatives open-source à dtm-labs/dtm incluent : apache/incubator-seata — Seata is a distributed transaction coordinator designed to ensure data consistency and atomicity across microservices.… doocs/advanced-java — This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency… qnjr-group/easytransaction — EasyTransaction is a distributed transaction framework that coordinates data consistency and failover across… yedf/dtm — dtm is a distributed transaction framework and workflow orchestrator designed to manage data consistency across… eventuate-tram/eventuate-tram-sagas — Eventuate Tram Sagas is a framework for managing distributed transactions across microservices. It functions as an… microservices-patterns/ftgo-application — This project is a Java microservices reference implementation that demonstrates the application of structural design…

Alternatives open source à Dtm

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Dtm.
  • apache/incubator-seataAvatar de apache

    apache/incubator-seata

    25,984Voir sur GitHub↗

    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

    Javaatconsistencydistributed-transaction
    Voir sur GitHub↗25,984
  • doocs/advanced-javaAvatar de doocs

    doocs/advanced-java

    78,987Voir sur GitHub↗

    This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac

    Javaadvanced-javadistributed-search-enginedistributed-systems
    Voir sur GitHub↗78,987
qnjr-group/easytransactionAvatar de QNJR-GROUP

QNJR-GROUP/EasyTransaction

2,356Voir sur GitHub↗

EasyTransaction is a distributed transaction framework that coordinates data consistency and failover across independent microservices. It implements unified patterns such as SAGA, Try-Confirm-Cancel, and reliable messaging to handle multi-service operations and failures safely. The framework combines diverse transaction styles and nests operations to manage complex workflows without relying on central coordinators. It includes an automatic compensation engine that executes reverse operations and rollback workflows sequentially when downstream failures occur, alongside an automated crash reco

Javabasedistributed-transactionsaga
Voir sur GitHub↗2,356
  • yedf/dtmAvatar de yedf

    yedf/dtm

    10,885Voir sur GitHub↗

    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

    Go
    Voir sur GitHub↗10,885
  • Voir les 30 alternatives à Dtm→