litx轻量级分布式事务框架
litx 是一个基于补偿的轻量级分布式事务框架。(目前只支持 dubbo,未来计划支持 http 等其他 rpc 调用的补偿)
对代码逻辑无侵入
和 spring 事务无缝结合(内部实现是集成 spring 的事务管理器,靠 @transactional标注开启)
自动回滚补偿接口
如回滚异常提供 hook 接口可供扩展,当回滚失败时,可以拿到数据自行可作处理。
Quick Start
也可以参考 litx-test 的测试用例,其工程演示了在 dubbo 环境下的测试情况。
也可参照以下代码进行快速配置
第一步 定义你相关接口的 rollback 接口。假设你的 dubbo 方法为 submitOrder,回滚接口命名规则为rollbackSubmitOrder,请求参数定义为你submitOrder的返回类型。加上spring的事务标注@Transactional 并且再你的接口上加入 @Compensable标注
public interface DemoService { @Compensable String test1(); @Compensable String test2(); void rollbackTest1(String str); void rollbackTest2(String str); }
第二步 spring 配置中加入以下定义
<bean id="litxDubboDefinationScanner" class="com.thebeastshop.litx.spring.LitxDubboDefinationScanner"/>
第三步 替换默认的 spring 事务管理器
<bean name="transactionManager" class="com.thebeastshop.litx.transaction.LitTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean>
如果你想处理回滚异常的数据 请定义自己的类,实现 RollbackInvokeHook 接口。并把自己的类注册到 spring 容器内就可以。litx 启动的时候会自动扫描到。
测试用例说明
测试工程提供了一个 dubbo-provider,首先得启动他,用 Runner 的 main 启动(数据源配置请重新配置),然后启动 dubbo-consumer consumer 的 test 用例演示了一个用例:consumer 先调用 provider 的 test1,再调用 test2。test2 代码里主动抛错。test1 回滚,test1 回滚的时候主动抛错,然后被 consumer 自定义的 hook 捕获到。
评论
Myth分布式事务框架
Myth是基于可靠消息最终一致性分布式事务框架,无缝支持dubbo,springcloud,motan等rpc框架的微服务采用消息队列解决分布式事务的开源框架,基于java语言来开发(JDK1.8),
Myth分布式事务框架
0
Giiwa轻量级分布式应用框架
Giiwa是一个JavaWeb的快速开发框架。模块化:模块化开发,模块之间可以复用和重载。最大化地复用代码和资源,使得构建跨项目之间的模块更加容易。快速开发:直观简单的程序入口出口,更容易开发和维护。
Giiwa轻量级分布式应用框架
0
Light_rtdc轻量级分布式实时计算框架
框架说明Light_drtc是一个轻量级分布式实时计算框架,它可以帮助你快速实现自定义的实时计算平台。它主要参考当前流行的实时计算框架Storm的任务分发和SparkStreaming的Mini-Ba
Light_rtdc轻量级分布式实时计算框架
0