随笔分类 - 事务专题
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 seata的at模式主要实现逻辑是数据源代理,而数据源代理将基于如MySQL和Oracle等关系事务型数据库实现,基于数据库的隔离级别为read committed。换而言之,本地事务的支
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在阅读数据源代理部分的代码的时候我们提到过ConnectionProxy会在init方法里面向Server端注册一个分支事务,当ConnectionProxy中失败的时候,会先Server
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 上一篇文章中,我们看了看DefaultCoordinator作为分布式事务的协调者,关于全局事务begin的流程。 DefaultCoordinator把begin的核心实现交付给了Def
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在上一篇文章中,我们知道了DefaultCoordinator作为分布式事务的协调者承担了Server端的大部分功能实现。 那么,本文将阅读一下全局事务的begin请求,首先打开TCInb
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 由seata-server的main方法我们可以知道,netty的RPC机制负责了网络部分的职责。而DefaultCoordinator负责了分布式事务协调者的主体功能。 本文将预先看看D
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在前面的文章中,我们大体地阅读了一下客户端的代码。本文作为seata-server部分的第一篇文章,将开始阅读Server端的内容。 main方法作为Server的的启动代码的开始部分,所
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在阅读seata自动配置相关的内容的时候,我们说过。客户端会初始化一个RMClient的RPC客户端,且同时会添加一个监听器RmMessageListener,监听器将监听来自seata的
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 前两篇文章中 ,我们分别看到了DataSourceProxy被注册为Resource,ConnectionProxy注册分支事务到全局事务当中。 本文继续数据源代理的StatementPr
阅读全文
摘要:目录 seata分布式事务框架 基础篇 seata简介 springboot项目使用seata实现分布式事务 源码篇 客户端 seata自动配置 GlobalTransactionalInterceptor拦截器 TransactionalTemplate处理全局事务 DataSourceProxy
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在上一篇关于DataSourceProxy的文章中,我们看到了一个DataSourceProxy在构造的时候将作为Resource注册到ResourceManager并通过RPC注册到Se
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 前面两篇文章,主要了解了一下关于seata是怎么通过AOP给方法事务增强的,且关于TransactionalTemplate是如何执行事务的being -> commit || rollb
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 上一篇文章中,我们看了一下GlobalTransactionalInterceptor这个拦截器,知道了@GlobalTransactional注解的主体逻辑被委托给了Transactio
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在上一篇文章中,我们看到被@GlobalTransactional或者@GlobalLock注解的方法,该Bean会做AOP事务增强。 本文将阅读关于@GlobalTransactiona
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在上一篇文章中,展示了springboot如何引入并使用seata来实现分布式事务的,基本使用以后接下来将开始进行源代码的阅读。毕竟阅读源代码总是比阅读文档令人有兴趣一点,而且了解他人的编
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12078232.html 正文 在上一篇文章中,我们简单地了解了一下什么是seata。它是来自阿里巴巴的内部项目不断地发展出来的。2019年以fescar命名开源于apache开源协议,同年改名为seata。 本文将入手
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12078232.html 正文 在上一篇文章中,我们简单了解了一下innodb的行级锁(s锁、x锁)和表级锁(is锁、ix锁)的概念以及锁之间的兼容关系。 本文,将了解一下innodb的几种加锁的情况: 常见的加锁 1)
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12078232.html 正文 innodb是mysql在oltp模式中最常用的一种执行引擎。本文将了解一下innodb基础的行级锁和表级锁。 首先,锁存在的理由是什么?是因为资源争抢,当多线程并发的时候,为了保证资源不
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12078232.html 正文 原本打算业务时间把事务相关的东西都研究一下,结果人的惰性果然是可以打败一切的,工作忙总是一个很好的借口。于是乎希望走个捷径,直接上手seata这款阿里巴巴发布的分布式事务中间件。寄希望于对
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12078232.html 正文 前面的文章中,我们先了解了2pc,知道了2pc强一致性导致的资源被长时间锁住的问题。而后,我们又了解了3pc,3pc在2pc的基础上增加了超时机制,企图解决强一致性带来的问题,但是超时机制
阅读全文
摘要:所有文章 https://www.cnblogs.com/lay2017/p/12078232.html 正文 2pc事务提交协议在实现的角度已经能够在大多数场景满足事务的要求了,但是2pc存在明显的性能问题。而且一旦造成阻塞的连锁反应,可能就是整个系统崩溃的结果。3pc在2pc的基础上做了一些问题
阅读全文
浙公网安备 33010602011771号