返回 登录
0

二阶段提交分布式事务框架源码解析系列(一)之项目结构

happylifeplat-transaction 是什么?有什么功能?

  • 这是碧桂园旺生活二阶段提交分布式事务开源解决方案。github地址
  • 支持dubbo,springcloud等rpc框架进行分布式事务
  • 本地事务存储,支持redis,mogondb,zookeeper,file,mysql等关系型数据库
  • 序列化方式,支持java,hessian,kryo,protostuff
  • 事务发起者,参与者与协调者底层基于netty长连接通信,稳定高效。
  • 协调者采用eureka做注册中心,支持集群模式。

项目结构

结构图

  • happylifeplat-transaction-common 该项目主要为框架提供一些公共的配置,如异常定义,实体类,枚举等等。

  • happylifeplat-transaction-core 该项目是框架的核心实现,包括服务的启动,netty长连接,调用流程,aop切面,重试等实现。

  • happylifeplat-transaction-tx-dubbo 该项目是对dubbo框架的支持,里面主要针对dubbo的特性的实现,如:dubbo的filter接口特性等等。

  • happylifeplat-transaction-tx-springcloud 该项目是对springcloud框架的支持,里面主要针对springcloud的特性的实现。

  • happylifeplat-transaction-tx-manager 该项目即为二阶段提交中的协调者,采用eureka做注册中心,redis存储,并且提供netty长连接服务等。

  • happylifeplat-transaction-tx-sample 这是实战体验的demo项目,里面有针对dubbo用户和springcloud用户的案列,里面具体的配置,用户可以参考 dubbo用户 , springcloud用户

  • happylifeplat-transaction-dashboard 该项目是分布式事务管理后台的前端源码,采用vue.js + element UI 实现

  • happylifeplat-transaction-admin 该项目是分布式事务的跟踪管理后台(调用链跟踪,控制补偿事务等功能)

登录界面

首页

事务组

事务补偿

评论