打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
采用Best effort 1pc + 回滚补偿机制实现的一个distributed transaction (分布式事务框架).基于dubbo rpc服务上实现。

该项目已经提交在github上了。github的项目地址: https://github.com/bingyufight/distributed-flexible-transaction

这是一个在dubbo rpc服务框架上实现的分布式事务补偿框架,该分布式事务框架没有采用传统的2pc(两阶段分布式事务提交的协议), 因为两阶段分布式事务提交协议有比较大的阻塞性能问题。所以distributed-flexible-transaction 分布式事务框架采用的 是Best effort 1PC(一阶段最大努力提交协议) + 分布式回滚补偿的方式来实现分布式事务,这样可以大大提高性能,同时能 保证不同分布式服务之间的数据一致性。应用场景如下: 比如现在有 分布式服务A,B,C,D,E,F。 A->B,B->C,C->D,D->E,E->F,在distributed-flexible-transaction分布式事务框架中一次分布式服务的调用链就是一个transaction, 每个单独的分布式服务是一个participant。一个transaction由多个participant组成。当D->E出现超时异常或是业务异常时, 分布式事务框架将会执行A->B,B->C,C->D 的各个participant(分布式服务调用)的回滚服务进行事务补偿。同时,在分布式事务的整个执行过程中,用WAL(Write ahead log)机制,将分 布式服务执行的commit和rollback之前保留重要执行信息。

      这个分布式框架目前只是一个初级的版本,后续会继续迭代。框架中有很多地方需要改进和优化,如果有宝贵的改进和优化建议,我们一起讨论。

    

distributed-flexible-transaction分布式事务基本组成模块

distributed-transaction-api 分布式事务框架API层distributed-transaction-agent 分布式事务框架代理探测层  distributed-transaction-common 分布式事务框架通用工具类层distributed-transaction-core 分布式事务框架核心逻辑层distributed-transaction-service 分布式事务框架事务管理服务层distributed-transaction-test-dubboservice1 分布式事务框架测试dubbo服务1distributed-transaction-test-dubboservice2 分布式事务框架测试dubbo服务2


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
图解微服务架构演进
rpcx是一个类似阿里巴巴 Dubbo 基于Golang net/rpc实现
dubbo是什么
聊聊Dubbo(一):为何选择Dubbo
对于Netty的十一个疑问
深度剖析RPC框架设计需要考虑的问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服