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

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

作者: 潇潇洒洒的写书 | 来源:发表于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上,如果不能那就以后有需求的时候再写吧。

    相关文章

      网友评论

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

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