二阶段提交分布式事务框架源码解析系列(一)之项目结构
Raincat 是什么?有什么功能?
- 二阶段提交分布式事务开源解决方案。github地址
- 支持dubbo,springcloud等rpc框架进行分布式事务
- 本地事务存储,支持redis,mogondb,zookeeper,file,mysql等关系型数据库
- 序列化方式,支持java,hessian,kryo,protostuff
- 事务发起者,参与者与协调者底层基于netty长连接通信,稳定高效。
- 协调者采用eureka做注册中心,支持集群模式。
项目结构
raincat-common 该项目主要为框架提供一些公共的配置,如异常定义,实体类,枚举等等。
raincat-core 该项目是框架的核心实现,包括服务的启动,netty长连接,调用流程,aop切面,重试等实现。
raincat-dubbo 该项目是对dubbo框架的支持,里面主要针对dubbo的特性的实现,如:dubbo的filter接口特性等等。
raincat-springcloud 该项目是对springcloud框架的支持,里面主要针对springcloud的特性的实现。
raincat-manager 该项目即为二阶段提交中的协调者,采用eureka做注册中心,redis存储,并且提供netty长连接服务等。
raincat-sample 这是实战体验的demo项目,里面有针对dubbo用户和springcloud用户的案列,里面具体的配置,用户可以参考 dubbo用户 , springcloud用户
Raincat-dashboard 该项目是分布式事务管理后台的前端源码,采用vue.js + element UI 实现
Raincat-admin 该项目是分布式事务的跟踪管理后台(调用链跟踪,控制补偿事务等功能)