03 2020 档案

摘要:在我们的业务代码里面有时候会充斥着大量的if/else的逻辑。当然,我们可以采用一些设计模式将if/else代码进行分解,同时也可以使用一些动态脚本来动态更改逻辑规则以适应业务逻辑的变化。 规则引擎就是这么一种需求的解决方案,抽象除了一套规则判断的逻辑。 概念 了解规则引擎,我们先了解几个概念,如图 阅读全文
posted @ 2020-03-29 13:48 __lay 阅读(5431) 评论(0) 推荐(1)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 seata的at模式主要实现逻辑是数据源代理,而数据源代理将基于如MySQL和Oracle等关系事务型数据库实现,基于数据库的隔离级别为read committed。换而言之,本地事务的支 阅读全文
posted @ 2020-03-19 23:11 __lay 阅读(12103) 评论(0) 推荐(0)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在阅读数据源代理部分的代码的时候我们提到过ConnectionProxy会在init方法里面向Server端注册一个分支事务,当ConnectionProxy中失败的时候,会先Server 阅读全文
posted @ 2020-03-16 22:59 __lay 阅读(1143) 评论(0) 推荐(0)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 上一篇文章中,我们看了看DefaultCoordinator作为分布式事务的协调者,关于全局事务begin的流程。 DefaultCoordinator把begin的核心实现交付给了Def 阅读全文
posted @ 2020-03-16 22:35 __lay 阅读(1167) 评论(0) 推荐(0)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在上一篇文章中,我们知道了DefaultCoordinator作为分布式事务的协调者承担了Server端的大部分功能实现。 那么,本文将阅读一下全局事务的begin请求,首先打开TCInb 阅读全文
posted @ 2020-03-15 16:18 __lay 阅读(1027) 评论(0) 推荐(0)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 由seata-server的main方法我们可以知道,netty的RPC机制负责了网络部分的职责。而DefaultCoordinator负责了分布式事务协调者的主体功能。 本文将预先看看D 阅读全文
posted @ 2020-03-15 15:36 __lay 阅读(874) 评论(0) 推荐(0)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在前面的文章中,我们大体地阅读了一下客户端的代码。本文作为seata-server部分的第一篇文章,将开始阅读Server端的内容。 main方法作为Server的的启动代码的开始部分,所 阅读全文
posted @ 2020-03-15 15:05 __lay 阅读(1403) 评论(0) 推荐(0)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在阅读seata自动配置相关的内容的时候,我们说过。客户端会初始化一个RMClient的RPC客户端,且同时会添加一个监听器RmMessageListener,监听器将监听来自seata的 阅读全文
posted @ 2020-03-14 14:17 __lay 阅读(3332) 评论(0) 推荐(0)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 前两篇文章中 ,我们分别看到了DataSourceProxy被注册为Resource,ConnectionProxy注册分支事务到全局事务当中。 本文继续数据源代理的StatementPr 阅读全文
posted @ 2020-03-13 22:12 __lay 阅读(927) 评论(0) 推荐(0)
摘要:目录 seata分布式事务框架 基础篇 seata简介 springboot项目使用seata实现分布式事务 源码篇 客户端 seata自动配置 GlobalTransactionalInterceptor拦截器 TransactionalTemplate处理全局事务 DataSourceProxy 阅读全文
posted @ 2020-03-13 11:02 __lay 阅读(2968) 评论(1) 推荐(2)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在上一篇关于DataSourceProxy的文章中,我们看到了一个DataSourceProxy在构造的时候将作为Resource注册到ResourceManager并通过RPC注册到Se 阅读全文
posted @ 2020-03-12 22:18 __lay 阅读(1144) 评论(0) 推荐(0)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 前面两篇文章,主要了解了一下关于seata是怎么通过AOP给方法事务增强的,且关于TransactionalTemplate是如何执行事务的being -> commit || rollb 阅读全文
posted @ 2020-03-11 21:32 __lay 阅读(1928) 评论(0) 推荐(0)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 上一篇文章中,我们看了一下GlobalTransactionalInterceptor这个拦截器,知道了@GlobalTransactional注解的主体逻辑被委托给了Transactio 阅读全文
posted @ 2020-03-09 23:11 __lay 阅读(3206) 评论(0) 推荐(0)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在上一篇文章中,我们看到被@GlobalTransactional或者@GlobalLock注解的方法,该Bean会做AOP事务增强。 本文将阅读关于@GlobalTransactiona 阅读全文
posted @ 2020-03-08 16:02 __lay 阅读(3159) 评论(0) 推荐(0)
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在上一篇文章中,展示了springboot如何引入并使用seata来实现分布式事务的,基本使用以后接下来将开始进行源代码的阅读。毕竟阅读源代码总是比阅读文档令人有兴趣一点,而且了解他人的编 阅读全文
posted @ 2020-03-07 16:00 __lay 阅读(7107) 评论(1) 推荐(0)