美文网首页
手写框架探险系列-无侵入式的分布式事务的实现

手写框架探险系列-无侵入式的分布式事务的实现

作者: 潇潇洒洒的写书 | 来源:发表于2019-05-03 23:49 被阅读0次

思路

  • 拦截器uuid、被调用次数+局部回滚、记录sql操作日志 + 最终一台服务器统一执行sql日志。
  1. 从报文中获得 uuid和counted , 并确定uuid和counted的值
  2. 放入ThreadLocal中供全局取用
  3. 代理connection
    • updateExecute操作操作并利用log4j-jdbc生成的日志+uuid+counted+数据源标识放入日志表中。
    • commit操作局部回滚,同时提交日志表记录。并且判断当被调用次数为0(初始)时,异步的交给一个拥有所有数据库连接的服务器(DML消费端),做全部的DML(这里可以采用直连,jms,rpc。。。。都可以)。
    • rollback操作局部回滚,同时回滚日志表记录。并且判断当被调用次数为0(初始)时,不做处理。
  • DML消费端的实现: 一个uuid就是一个事务从jndi里面找到对应的数据源,执行batchUpdateExecute操作,且提交。
  • 说明 : 理论上瓶颈应该是日志表的insert的操作 延时 和 DML消费端, 如果有需要的话可以做分库和分表操作,这就不是重点了。

代码

暂时还在公司的桌面虚拟机里,可以拿出来就会放到github上,如果不能那就以后有需求的时候再写吧。

相关文章

  • 手写框架探险系列-无侵入式的分布式事务的实现

    思路 拦截器uuid、被调用次数+局部回滚、记录sql操作日志 + 最终一台服务器统一执行sql日志。 从报文中获...

  • 分布式事务

    本地事务 分布式事务 分布式事务模型 XA 优点:对应用侵入很小,用户可以像使用本地事务一样使用基于XA协议的分布...

  • 数据库

    分布式事务框架https://github.com/seata/seata 国内主要的开源TCC分布式事务框架包括...

  • 分布式框架

    分布式框架思考 分布式框架需要考虑的问题:分布式锁、分布式事务、分布式存储、分布式调度、分布式计算、容器部署(通信...

  • 微服务 14:初探微服务分布式事务 - Seata

    1:什么是事务,什么是ACID 2:什么是分布式事务 3:分布式事务解决方案 4:Seata 分布式事务框架 5:...

  • Seate

    Seata是阿里开源的一个分布式事务框架。Seata主要有两种分布式事务实现方案,AT及TCC AT模式主要关注多...

  • MySQL分布式事务支持

    MySQL分布式事务介绍 InnoDB存储引擎提供了对XA事务的支持,并通过XA事务来支持分布式事务的实现。分布式...

  • python面试学习路线-8.分布式高并发

    8.分布式高并发 1.分布式 1.分布式事务框架TX-LCN 分布式事务的两阶段提交策略 首先事务管理器通知各个数...

  • Mysql基础——事务

    内容 事务事务基本知识事务特性如何实现的?快照读和当前读 分布式事务XA规范mysql基于XA实现的分布式事务my...

  • Redis专题(3):锁的基本概念到Redis分布式锁实现

    近来,分布式的问题被广泛提及,比如分布式事务、分布式框架、ZooKeeper、SpringCloud等等。本文先回...

网友评论

      本文标题:手写框架探险系列-无侵入式的分布式事务的实现

      本文链接:https://www.haomeiwen.com/subject/ucoznqtx.html