Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dromara/hmily
Distributed transaction solutions
https://github.com/dromara/hmily
dubbo motan spring springcloud tac tansaction tcc xa
Last synced: 5 days ago
JSON representation
Distributed transaction solutions
- Host: GitHub
- URL: https://github.com/dromara/hmily
- Owner: dromara
- License: apache-2.0
- Created: 2017-09-28T06:29:01.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-07-14T04:16:31.000Z (5 months ago)
- Last Synced: 2024-10-29T15:35:18.963Z (about 2 months ago)
- Topics: dubbo, motan, spring, springcloud, tac, tansaction, tcc, xa
- Language: Java
- Homepage: https://dromara.org
- Size: 3.61 MB
- Stars: 4,110
- Watchers: 252
- Forks: 1,405
- Open Issues: 55
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Financial-level flexible distributed transaction solution
English | 简体中文
-------------------------------------------------------------------------------
# Panorama of distributed transaction solutions
![](https://yu199195.github.io/images/hmily/hmily.png)-------------------------------------------------------------------------------
# Features
* high reliability :supports abnormal transaction rollback in distributed scenarios, and abnormal recovery over time to prevent transaction suspension
* usability :provide zero-invasive `Spring-Boot`, `Spring-Namespace` to quickly integrate with business systems
* high performance :decentralized design, fully integrated with business systems, naturally supporting cluster deployment
* observability :metrics performance monitoring of multiple indicators, and admin management background UI display
* various RPC : support `Dubbo`, `SpringCloud`, `Motan`, `Sofa-rpc`, `brpc`, `tars` and other well-known RPC frameworks
* log storage : support `mysql`, `oracle`, `mongodb`, `redis`, `zookeeper` etc.
* complex scene : support RPC nested call transaction-------------------------------------------------------------------------------
# Necessary premise
* must use `JDK8+`
* TCC mode must use a `RPC` framework, such as: `Dubbo`, `SpringCloud`, `Montan`-------------------------------------------------------------------------------
# TCC mode
![](https://yu199195.github.io/images/hmily/hmily-tcc.png)
when using the `TCC` mode, users provide three methods: `try`, `confirm`, and `cancel` according to their business needs.
And the `confirm` and `cancel` methods are implemented by themselves, and the framework is only responsible for calling them to achieve transaction consistency。-------------------------------------------------------------------------------
# TAC mode
![](https://yu199195.github.io/images/hmily/hmily-tac.png)When the user uses the `TAC` mode, the user must use a relational database for business operations, and the framework will automatically generate a `rollback SQL`,
When the business is abnormal, the `rollback SQL` will be executed to achieve transaction consistency。-------------------------------------------------------------------------------
# Documentation
[![EN doc](https://img.shields.io/badge/document-English-blue.svg)](https://dromara.org/projects/hmily)[![CN doc](https://img.shields.io/badge/文档-中文版-blue.svg)](https://dromara.org/zh/projects/hmily)
If you want to use it, you can refer to [Quick Start](https://dromara.org/projects/hmily)
# About Hmily
Hmily is a flexible distributed transaction solution that provides `TCC` and `TAC` modes。
It can be easily integrated by business with zero intrusion and rapid integration。
In terms of performance, log storage is asynchronous (optional) and asynchronous execution is used, without loss of business methods。
It was previously developed by me personally. At present, I have restarted at JD Digital. The future will be a distributed transaction solution for financial scenarios.。
-------------------------------------------------------------------------------
# Follow the trend[![Stargazers over time](https://starchart.cc/yu199195/hmily.svg)](https://starchart.cc/yu199195/hmily)
-------------------------------------------------------------------------------
# User wall# Support
![](https://yu199195.github.io/images/qq.png) ![](https://yu199195.github.io/images/public.jpg)