# dromara/hmily

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dromara-hmily).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

4,172 stars · 1,398 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/dromara/hmily
- Homepage: https://dromara.org
- awesome-repositories: https://awesome-repositories.com/repository/dromara-hmily.md

## Topics

`dubbo` `motan` `spring` `springcloud` `tac` `tansaction` `tcc` `xa`

## Description

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 data consistency.

The framework covers distributed transaction management using try-confirm-cancel patterns and provides a persistence layer for recording operation histories across relational and document databases. It also includes a management interface for transaction lifecycle monitoring to audit state transitions and observe system health.

## Tags

### Data & Databases

- [Compensating Transactions](https://awesome-repositories.com/f/data-databases/compensating-transactions.md) — Recover abnormal transaction states over time to prevent system suspension and ensure eventual consistency across all data stores. ([source](https://github.com/dromara/hmily/blob/master/README.md))
- [Transaction Identifier Propagation](https://awesome-repositories.com/f/data-databases/database-transactions/nested-transactions/ambient-transactions/transaction-identifier-propagation.md) — Propagates unique transaction identifiers across RPC call chains to track nested operations and service relationships.
- [Distributed Transaction Recovery](https://awesome-repositories.com/f/data-databases/distributed-transaction-recovery.md) — Detect abnormal transaction states and trigger automated recovery processes to prevent business operations from remaining in a suspended state. ([source](https://github.com/dromara/hmily))
- [Transaction Recovery Logs](https://awesome-repositories.com/f/data-databases/undo-logs/transaction-recovery-logs.md) — Implements a persistence layer for recording operational history and state transitions to facilitate recovery from system crashes.
- [Nested Transactions](https://awesome-repositories.com/f/data-databases/database-transactions/nested-transactions.md) — Tracks transaction contexts across multiple layers of RPC calls to manage nested sub-transactions and ensure atomicity. ([source](https://github.com/dromara/hmily/blob/master/README_CN.md))
- [Operation History Stores](https://awesome-repositories.com/f/data-databases/undo-logs/transaction-recovery-logs/operation-history-stores.md) — Records operational history across relational and document databases to facilitate auditing and failure recovery.

### DevOps & Infrastructure

- [SQL Rollback Generation](https://awesome-repositories.com/f/devops-infrastructure/change-rollback-mechanisms/sql-rollback-generation.md) — Automates the generation of inverse SQL statements to restore database consistency when business processes fail.
- [Asynchronous Recovery Orchestration](https://awesome-repositories.com/f/devops-infrastructure/transaction-management/transaction-retry-logic/asynchronous-recovery-orchestration.md) — Provides an orchestration system for the automated recovery of failed distributed transactions through asynchronous cleanup processes.

### Software Engineering & Architecture

- [Distributed Transaction Coordinators](https://awesome-repositories.com/f/software-engineering-architecture/distributed-transaction-coordinators.md) — Coordinates global transaction lifecycles across heterogeneous data stores and remote procedure calls. ([source](https://github.com/dromara/hmily/blob/master/README.md))
- [Distributed State Recovery](https://awesome-repositories.com/f/software-engineering-architecture/distributed-state-recovery.md) — Detects abnormal transaction states and triggers automated recovery sequences to ensure eventual consistency in distributed systems.
- [Saga Coordinators](https://awesome-repositories.com/f/software-engineering-architecture/distributed-transaction-coordinators/saga-coordinators.md) — Implements a SAGA pattern coordinator to manage long-running business processes via local transactions and compensating actions.
- [Distributed Transaction Management](https://awesome-repositories.com/f/software-engineering-architecture/distributed-transaction-management.md) — Coordinates global transactions across microservices to ensure that operations either complete fully or roll back entirely.
- [Try-Confirm-Cancel Protocols](https://awesome-repositories.com/f/software-engineering-architecture/distributed-transaction-management/try-confirm-cancel-protocols.md) — Coordinates global transactions using the try-confirm-cancel pattern to ensure atomic completion across distributed services.
- [Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/distributed-transaction-patterns/frameworks.md) — Implements a comprehensive framework for managing consistency using TCC patterns and automated rollback scripts.
- [Consistency Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/distributed-computing-paradigms/microservice-frameworks/consistency-frameworks.md) — Provides a toolkit specifically designed to maintain data integrity and synchronization across distributed microservices.

### Networking & Communication

- [Data Synchronization and Consistency](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/data-synchronization-consistency.md) — Ensures data consistency across distributed environments by automating the generation and execution of rollback scripts. ([source](https://github.com/dromara/hmily/blob/master/README_CN.md))
- [Eventual Consistency Orchestrators](https://awesome-repositories.com/f/networking-communication/eventual-consistency-orchestrators.md) — Automates the process of reaching eventual consistency using rollback scripts and recovery processes.
- [RPC Frameworks](https://awesome-repositories.com/f/networking-communication/rpc-frameworks.md) — Integrates with various remote procedure call frameworks to synchronize transaction states across different service architectures. ([source](https://github.com/dromara/hmily/blob/master/README.md))

### System Administration & Monitoring

- [Distributed Transaction Monitors](https://awesome-repositories.com/f/system-administration-monitoring/task-status-monitors/distributed-transaction-monitors.md) — Provides a management interface for tracking the status, metrics, and operational health of distributed transactions. ([source](https://github.com/dromara/hmily/blob/master/README.md))

### Web Development

- [Agnostic Integration Layers](https://awesome-repositories.com/f/web-development/rpc-integration-interfaces/agnostic-integration-layers.md) — Provides an abstraction layer that interfaces with various RPC frameworks to coordinate distributed transactions regardless of service architecture.
