Migrated repository
Go to file
2017-09-01 21:20:51 +08:00
happylifeplat-transaction-common Initial commit 2017-09-01 16:06:25 +08:00
happylifeplat-transaction-core 本地提交 2017-09-01 20:07:12 +08:00
happylifeplat-transaction-tcc-dubbo Initial commit 2017-09-01 16:06:25 +08:00
happylifeplat-transaction-tx-dubbo Initial commit 2017-09-01 16:06:25 +08:00
happylifeplat-transaction-tx-manager Initial commit 2017-09-01 16:06:25 +08:00
happylifeplat-transaction-tx-sample 本地提交 2017-09-01 21:20:51 +08:00
happylifeplat-transaction-tx-springcloud Initial commit 2017-09-01 16:06:25 +08:00
happylifeplat-transaction.wiki@787aea964f 本地提交 2017-09-01 21:20:51 +08:00
.gitignore Initial commit 2017-09-01 16:06:25 +08:00
pom.xml 本地提交 2017-09-01 16:23:10 +08:00
README.md 本地提交 2017-09-01 20:07:12 +08:00

happylifeplat-transaction

碧桂园旺生活平台强一致性分布式事务,是基于三阶段提交+本地事务补偿机制来实现。原理介绍

基于java语言来开发JDK1.8事务发起者参与者与协调者底层基于netty长连接通信. 支持dubbospringcloud进行分布式事务。

因为文件名太长大家在拉取代码的时候执git命令git config core.longpaths true

Features

  • 事务角色

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

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

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

  • 技术方案

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

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

  • SPI扩展

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

Design

架构设计

Configuration

配置详解

Usage

快速体检(dubbo)

快速体检(springcloud)

Support

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

Contribution