Easter79 Easter79
3年前
spring事物管理之传播行为和隔离级别
大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅。事物注解方式:@Transactional当标于类前时,表示类中所有方法都进行事物处理例子:@TransactionalpublicclassTestServiceBeanimplementsTest
Wesley13 Wesley13
3年前
SSH实现动态数据源切换,事务场景下使用AOP
上周写代码遇到了切换数据源的问题,在同一个方法中向两个不同数据源做一些操作,但是这个方法使用了事务,所以网上一般动态切换数据源的方法就失效了。框架是spirngmvchibernate,数据库是oracle,连接池druid。一般情况下,操作数据都是在DAO层进行处理。一种办法是使用多个DataSource然后创建多个SessionFa
基于Seata探寻分布式事务的实现方案
随着业务的快速发展、业务复杂度越来越高,几乎每个公司的系统都会从单体走向分布式,特别是转向微服务架构。随之而来就必然遇到分布式事务这个难题,这篇文章通过seata框架总结了分布式事务的几种解决方案。
Easter79 Easter79
3年前
Spring的事务传播行为
先举一个Spring的嵌套例子ServiceA {    void methodA() {        ServiceB.methodB();    }}ServiceB {    void methodB();}事务传播属性可以在@Trans
Wesley13 Wesley13
3年前
分布式事务 TCC
摘要:原创出处http://www.iocoder.cn/TCCTransaction/builddebuggingenvironment/(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.iocoder.cn%2FTCCTransaction%2Fbuilddebu
Wesley13 Wesley13
3年前
MySQL隔离级别
事务具有ACID四种特性。但是Isolation并发可能引起如下问题:1.脏读允许读取到未提交的脏数据。2.不可重复读如果你在时间点T1读取了一些记录,在T2时再想重新读取一次同样的这些记录时,这些记录可能已经被改变、或者消失不见。3.幻读解决了不重复读,保证了同一个事务里,查询的结果都是事务开始时的状态(
Stella981 Stella981
3年前
BeetlSQL 3.1.0 发布,spring saga 事务支持
本次发布增强了Saga在spring下的支持,使用kafka提供重试以及重试失败后放入丢弃队列里Saga是用来在微服务中的长事务管理,具备ACID中的ACD,不具备I,隔离性。在一定业务条件下,可以使用Saga非常简单和方便的管理微服务事务。同理,也可以用于管理多库事务Saga要求微服务提供回滚操作,然后如果需要回滚,有Saga编排调度各个微服务对应
Easter79 Easter79
3年前
TiKV 源码解析系列文章(十三)MVCC 数据读取
作者:施闻轩在《TiKV源码解析系列文章(十二)分布式事务》(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fpingcap.com%2Fblogcn%2Ftikvsourcecodereading12%2F)中,我们介绍了如何在满足事务特性的要求下进行数据写入。本文
Wesley13 Wesley13
3年前
Mysql读写锁及事务
读写锁同一用户并发读取同一条数据,不会出现什么问题,因为读取不会修改数据,但是如果某个用户正在读取某张表,而同一时刻另一用户正在修改这张表的id为1的数据,会产生什么后果?答案是不确定的,读的用户可能会报错退出,也可能读到不一致的数据。 解决这类经典问题的就是并发控制。在处理并发读写的时候,可以通过实现一个由两种类型的锁组成锁系统来解决问题。