Migrated repository
Go to file
2018-12-28 17:41:12 +08:00
raincat-admin redis cluster . 2018-12-04 18:01:03 +08:00
raincat-common support choose specific transaction manager 2018-12-28 17:41:12 +08:00
raincat-core support choose specific transaction manager 2018-12-28 17:41:12 +08:00
raincat-dashboard 项目重构 2018-03-02 11:57:12 +08:00
raincat-dubbo Upgrade spring boot 2.0 2018-12-04 12:01:03 +08:00
raincat-manager Upgrade spring boot 2.0 2018-12-04 12:01:03 +08:00
raincat-motan Upgrade spring boot 2.0 2018-12-04 12:01:03 +08:00
raincat-sample Upgrade spring boot 2.0 2018-12-04 12:01:03 +08:00
raincat-spring-boot-starter Upgrade spring boot 2.0 2018-12-04 12:01:03 +08:00
raincat-springcloud Upgrade spring boot 2.0 2018-12-04 12:01:03 +08:00
script checkstyle rebuild 2018-06-09 11:43:53 +08:00
.gitignore Initial commit 2017-09-01 16:06:25 +08:00
.travis.yml 2.0.0 commit . 2018-11-29 18:35:13 +08:00
LICENSE 项目重构 2018-03-02 11:57:12 +08:00
pom.xml Upgrade spring boot 2.0 2018-12-04 12:03:10 +08:00
README.md add qq. 2018-12-04 17:08:27 +08:00

Raincat

Codacy Badge Total lines License Maven Central Javadocs Build Status QQ群 强一致性分布式事务,是基于二阶段提交+本地事务补偿机制来实现。原理介绍

基于java语言来开发JDK1.8支持dubbo,motan,springcloud进行分布式事务。

Features

  • 框架特性

    • 无缝集成spring 或 spring boot。

    • 支持dubbo,motan,springcloud,等rpc框架进行分布式事务。

    • 事务发起者参与者与协调者底层基于netty长连接通信,稳定高效。

    • 协调者采用eureka做注册中心支持集群模式。

    • 采用Aspect AOP 切面思想与Spring无缝集成。

    • 配置简单,集成简单,源码简洁,稳定性高,已在生产环境使用。

    • 内置经典的分布式事务场景demo工程并有swagger-ui可视化界面可以快速体验。

  • 事务角色

    • 事务发起者(可理解为消费者 如dubbo的消费者,springcloud的调用方,发起分布式事务

    • 事务参与者(可理解为提供者 如dubbo的提供者,springcloud的rest服务提供者),参与事务发起者的事务

    • 事务协调者tx-manager协调分布式事务的提交回滚等。

  • 技术方案

    • 协调者tx-manager采用eureka作为注册中心集群配置达到服务的高可用采用redis集群来分布式存储事务数据, springboot 提供rest服务采用netty与参与者发起者进行长连接通信。

    • 发起者与协调者采用Aspect AOP 切面思想SPI多线程异步回调线程池netty通信等技术。

  • SPI扩展

    • 本地事务恢复支持redismogondbzookeeperfilemysql等关系型数据库
    • 本地事务序列化保存支持javahessiankryoprotostuff
    • netty通信序列化方式支持 hessiankryoprotostuff

官网

http://dromara.org 或者 https://dromara.org 有时候https打不开。

文档

http://dromara.org/website/zh-cn/docs/raincat/index.html

视频源码分析

环境搭建

启动过程

事务提交

回滚恢复

管理后台

流程图

FAQ

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

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

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

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

Support

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

  • 微信公众号

Contribution