高性能异步分布式事务TCC框架(try,confirm,cancel)
Clone or download
Latest commit 81955ea Nov 16, 2018

README.md

Hmily

高性能分布式事务tcc开源框架。基于java语言来开发(JDK1.8),支持dubbo,springcloud,motan等rpc框架进行分布式事务。

官网

http://dromara.org

Features

  • 框架特性

    • 支持嵌套事务(Nested transaction support).
    • 采用disruptor框架进行事务日志的异步读写,与RPC框架的性能毫无差别。
    • 支持SpringBoot-starter 项目启动,使用简单。
    • RPC框架支持 : dubbo,motan,springcloud。
    • 本地事务存储支持 : redis,mongodb,zookeeper,file,mysql。
    • 事务日志序列化支持 :java,hessian,kryo,protostuff。
    • 采用Aspect AOP 切面思想与Spring无缝集成,天然支持集群。
    • 内置经典的分布式事务场景demo工程,并有swagger-ui可视化界面可以快速体验。

为什么高性能?

源码解析博客

视频详解

Prerequisite

  • JDK 1.8+

  • Maven 3.2.x

  • Git

  • RPC framework dubbo or motan or springcloud。

Spring-Boot-Starter-Support

TCC原理介绍

Configuration

Quick Start

User Guide

  • 关于jar包引用问题,现在jar包还未上传到maven的中央仓库,所以使用者需要自行获取代码,然后打包上传到自己maven私服

    > git clone https://github.com/yu199195/hmily.git
    
    > mvn -DskipTests clean deploy -U
    
  • 关于jar包版本问题 ,现在因为没有传到中央仓库,如果引用的话,请自行设置相应的版本。

  • Dubbo User Guide

  • SpringCloud User Guide

FAQ

  • 为什么我下载的代码后,用idea打开没有相应的get set 方法呢?

    答:因为框架使用了Lombok包,它是在编译的时期,自动生成get set方法,并不影响运行,如果觉得提示错误难受,请自行下载lombok包插件,lombok官网
  • 为什么我运行demo工程,找不到applicationContent.xml呢?

    答:请设置项目的资源文件夹。
  • 为什么我启动tcc-admin项目的时候,会报mongo 集群连接错误呢?

    答:这是因为项目里面有mongo代码,spring boot会自动配置,该错误没有关系,只要admin项目能正常启动就行。

Support

  • 如有任何问题欢迎加入QQ群进行讨论

  • 微信公众号

Contribution