Skip to content

Commit

Permalink
Merge pull request #235 from codingapi/5.0.0-dev
Browse files Browse the repository at this point in the history
5.0.0 dev
  • Loading branch information
xlorne authored Feb 3, 2019
2 parents 9f5f109 + 433d2ed commit 4b9cae2
Show file tree
Hide file tree
Showing 430 changed files with 9,710 additions and 7,392 deletions.
39 changes: 21 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# tx-lcn分布式事务框架 (5.0.0.RC2)
# tx-lcn分布式事务框架 (5.0.0)

[![Gitter](https://badges.gitter.im/codingapi/tx-lcn.svg)](https://gitter.im/codingapi/tx-lcn?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![BBS](https://bbs.txlcn.org/style/Archlinux/txlcn-bbs.svg)](https://bbs.txlcn.org)
Expand All @@ -7,30 +7,33 @@

## 项目介绍

5.0完全拥抱springboot体系,JDK版本为1.8开发,将不仅仅支持LCN事务模式,也引入了TCC,TXC模式,同时把分布式事务协调的模式抽象出来,让各种模式可以嵌套使用。
5.0完全拥抱springboot体系,基于JDK1.8,不仅仅支持LCN事务模式,同时引入了TCC,TXC模式,把分布式事务协调的模式抽象出来,让各种模式可以嵌套使用。

事务模式说明:TCC是用户自己实现提交回滚业务,LCN是框架代理JDBC Connection实现提交回滚业务, TXC是框架分析业务SQL提前提交,在需要回滚时生成逆向回滚。

版本主要特点:
1. 将基于springboot 2.0研发,将替换groupId传递机制,由sleuth机制处理。
2. 将抽离LCN封装业务,提出业务接口层与通讯层,将可支持自定义分布式事务模式与通讯模式。
3. 将支持LCN TXC TCC 三种事务模式,且可混合支持。
4. 性能继续优化,去掉线程等待机制,提高吞吐量。
TCC忽略不说。LCN与TXC两种框架实现的事务模式到底那个更优越呢?

理论上,在并发量大,资源相对紧张时,TXC要优于LCN,但从目前测试上来说,结果却非如此,LCN还是稍优于TXC。同时TXC还限制了业务SQL形式,未做到完全逆向
后续版本将会着重优化TXC,包括性能上和SQL的完全逆向上。


## 模块划分
版本较4.x主要特点:
1. 基于springboot 2.0研发
2. 抽离LCN封装业务,提出业务接口层与通讯层,可支持自定义分布式事务模式与通讯模式。
3. 支持LCN TXC TCC 三种事务模式,且可混合支持。
4. 性能较优秀,去掉了线程等待机制,提高吞吐量。


1. tx-client:*TXLCN分布式事务客户端*
2. tx-client-dubbo:*dubbo框架客户端*
3. tx-client-springcloud:*springcloud框架客户端*
4. tx-commons:*公共模块*
5. tx-jdbcproxy-p6spy:*sql拦截代理,采用了p6spy方式*
6. tx-logger:*性能测试日志*
7. tx-manager:*TXLCN事务管理器*
8. tx-spi-message:*消息扩展接口*
9. tx-spi-message-netty:*netty消息实现*
10. tx-spi-sleuth:*sleuth扩展接口*

## 模块划分

1. txlcn-tc:*TXLCN分布式事务客户端*
2. txlcn-common:*公共模块*
3. txlcn-logger:*日志模块。(默认提供日志持久化到MySQL的支持)*
4. txlcn-tm:*TXLCN事务管理器*
5. txlcn-txmsg:*事务消息扩展接口*
6. txlcn-txmsg-netty:*事务消息接口的Netty实现*
7. txlcn-tracing:*分布式事务追踪工具*

## 官网文档

Expand Down
2 changes: 1 addition & 1 deletion package.txmanager.bat
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@echo off

cd tx-manager
cd txlcn-tm

start mvn clean package

Expand Down
51 changes: 15 additions & 36 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.codingapi.txlcn</groupId>
<artifactId>tx-lcn</artifactId>
<version>5.0.0.RC2</version>
<version>5.0.0</version>
<packaging>pom</packaging>


Expand All @@ -16,16 +16,13 @@


<modules>
<module>tx-client</module>
<module>tx-commons</module>
<module>tx-jdbcproxy-p6spy</module>
<module>tx-spi-message</module>
<module>tx-spi-message-netty</module>
<module>tx-spi-sleuth</module>
<module>tx-client-springcloud</module>
<module>tx-client-dubbo</module>
<module>tx-manager</module>
<module>tx-logger</module>
<module>txlcn-common</module>
<module>txlcn-logger</module>
<module>txlcn-tc</module>
<module>txlcn-tm</module>
<module>txlcn-tracing</module>
<module>txlcn-txmsg</module>
<module>txlcn-txmsg-netty</module>
</modules>

<properties>
Expand All @@ -46,7 +43,7 @@
<maven.javadoc.plugin>2.10.3</maven.javadoc.plugin>
<maven.gpg.plugin>1.6</maven.gpg.plugin>

<codingapi.txlcn.version>5.0.0.RC2</codingapi.txlcn.version>
<codingapi.txlcn.version>5.0.0</codingapi.txlcn.version>

<txlcn-org.projectlombok.version>1.18.0</txlcn-org.projectlombok.version>
<txlcn-spring-cloud.version>Finchley.SR2</txlcn-spring-cloud.version>
Expand Down Expand Up @@ -140,55 +137,37 @@

<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>tx-client-springcloud</artifactId>
<artifactId>txlcn-tc</artifactId>
<version>${codingapi.txlcn.version}</version>
</dependency>

<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>tx-client-dubbo</artifactId>
<artifactId>txlcn-txmsg-netty</artifactId>
<version>${codingapi.txlcn.version}</version>
</dependency>

<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>tx-jdbcproxy-p6spy</artifactId>
<artifactId>txlcn-common</artifactId>
<version>${codingapi.txlcn.version}</version>
</dependency>

<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>tx-client</artifactId>
<artifactId>txlcn-logger</artifactId>
<version>${codingapi.txlcn.version}</version>
</dependency>

<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>tx-spi-message-netty</artifactId>
<artifactId>txlcn-txmsg</artifactId>
<version>${codingapi.txlcn.version}</version>
</dependency>

<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>tx-commons</artifactId>
<version>${codingapi.txlcn.version}</version>
</dependency>

<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>tx-logger</artifactId>
<version>${codingapi.txlcn.version}</version>
</dependency>

<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>tx-spi-message</artifactId>
<version>${codingapi.txlcn.version}</version>
</dependency>

<dependency>
<groupId>com.codingapi.txlcn</groupId>
<artifactId>tx-spi-sleuth</artifactId>
<artifactId>txlcn-tracing</artifactId>
<version>${codingapi.txlcn.version}</version>
</dependency>

Expand Down
2 changes: 1 addition & 1 deletion run.txmanager.bat
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@echo off

start java -jar -Xms256m -Xmx512m tx-manager/target/tx-manager-5.0.0.RC2.jar
start java -jar -Xms256m -Xmx512m txlcn-tm/target/txlcn-tm-5.0.0.jar

38 changes: 0 additions & 38 deletions tx-client-dubbo/pom.xml

This file was deleted.

This file was deleted.

This file was deleted.

38 changes: 0 additions & 38 deletions tx-client-springcloud/pom.xml

This file was deleted.

This file was deleted.

Loading

0 comments on commit 4b9cae2

Please sign in to comment.