ランキングに戻る

dromara/hmily

Javadromara.org

Distributed transaction solutions

tccspringclouddubbomotanspringtansactiontacxa
スター成長
スター
4.2k
フォーク
1.4k
週間成長
Issue
52
2k4k
2017年9月2020年8月2023年8月2026年7月
成果物Mavengit clone https://github.com/dromara/hmily.git
README

Financial-level flexible distributed transaction solution

https://dromara.org/

English | 简体中文

gitee stars github forks github stars github contributors



Panorama of distributed transaction solutions


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

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

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

CN doc

If you want to use it, you can refer to Quick Start

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


User wall

Support

関連リポジトリ
apache/incubator-seata

:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.

JavaMavenApache License 2.0tccsaga
seata.apache.org
26k8.9k
dtm-labs/dtm

A distributed transaction framework, supports workflow, saga, tcc, xa, 2-phase message, outbox patterns, supports many languages.

GoGo ModulesBSD 3-Clause "New" or "Revised" Licensesagaxa
d.dtm.pub
10.9k999
TinyCC/tinycc

Unofficial mirror of mob development branch

CGNU Lesser General Public License v2.1compilerc
repo.or.cz/w/tinycc.git
3k550
liuyangming/ByteTCC

ByteTCC is a distributed transaction manager based on the TCC(Try/Confirm/Cancel) mechanism. It’s compatible with the JTA specification. User guide: https://github.com/liuyangming/ByteTCC/wiki

JavaMavenGNU Lesser General Public License v3.0tccspring-cloud
bytesoft.org
2.9k902
prontera/spring-cloud-rest-tcc

以Spring Cloud Netflix作为服务治理基础, 展示基于tcc思想所实现的分布式事务解决方案

JavaMavenspring-cloudspring-boot
2.5k1.2k
QNJR-GROUP/EasyTransaction

A distribute transaction solution(分布式事务) unified the usage of TCC , SAGA ,FMT (seata/fescar AutoCompensation), reliable message, compensate and so on;

JavaMavenApache License 2.0transactiontcc
2.4k796
ryanmjacobs/c

Compile and execute C "scripts" in one go!

ShellMIT Licenseclitcc
2.2k185
dromara/raincat

强一致分布式事务框架

JavaMavenGNU Lesser General Public License v3.0spring-cloudspi
dromara.org
1.9k650
DosX-dev/obfus.h

Macro-header for compile-time C obfuscation (tcc, win x86/x64)

CMIT Licensecconfuse
dosx.su
1.7k149
apache/incubator-seata-go

Go Implementation For Seata

GoGo ModulesApache License 2.0attcc
seata.apache.org
1.7k348
anael-seghezzi/CToy

Interactive C live coding environment

C++Otherlivecodingtcc
1.4k75
alekmaul/pvsneslib

PVSnesLib : A small, open and free development kit for the Nintendo SNES

CMIT Licensenintendo-snessdk
1.1k92