Raincat 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Raincat 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Raincat 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 LGPL
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 Dromara开源组织
适用人群 未知
收录时间 2022-03-23

软件简介

Raincat,强一致性分布式事务,是基于二阶段提交+本地事务补偿机制来实现。原理介绍

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

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

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扩展

    • 本地事务恢复,支持redis,mogondb,zookeeper,file,mysql等关系型数据库
    • 本地事务序列化保存,支持java,hessian,kryo,protostuff
    • netty通信序列化方式,支持 hessian,kryo,protostuff

Prerequisite

  • JDK 1.8+

  • Maven 3.2.x

  • Git

  • RPC framework dubbo or motan or springcloud。

架构设计

  • 架构设计图 : 架构设计图

  • 流程图 :

    流程图

视频源码分析

环境搭建

启动过程

事务提交

回滚恢复

管理后台

Support

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

  • 微信公众号

Contribution

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
1 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部