seata的at模式的事务隔离级别
时间: 2023-06-19 13:08:15 浏览: 165
------事务的隔离级别
Seata AT(Atomikos Transfer)模式是一种分布式事务解决方案,它的事务隔离级别取决于使用的底层数据源的隔离级别。常见的隔离级别有:
1. 读未提交(Read Uncommitted):允许一个事务读取另一个事务尚未提交的数据,存在脏读、不可重复读、幻读等问题。
2. 读已提交(Read Committed):一个事务只能读取另一个事务已经提交的数据,可以避免脏读,但是会出现不可重复读、幻读等问题。
3. 可重复读(Repeatable Read):在一个事务中多次读取同一数据时,保证所有读取的结果都是一样的,可以避免不可重复读,但是会出现幻读问题。
4. 串行化(Serializable):最高的隔离级别,完全按照事务的顺序执行,避免了所有的并发问题。
在Seata AT模式下,可以通过配置底层数据源的隔离级别来指定事务隔离级别。具体来说,可以在Seata的配置文件中指定数据源的隔离级别,例如:
```
dbType: "mysql"
driverClassName: "com.mysql.jdbc.Driver"
url: "jdbc:mysql://localhost:3306/seata?useUnicode=true"
username: "seata"
password: "seata"
...
dataSourceProperties:
...
defaultTransactionIsolation: 2
```
其中,`defaultTransactionIsolation`指定了默认的事务隔离级别,这里的2表示读已提交隔离级别。如果需要使用其他的隔离级别,可以将其设置为1、4或8分别表示读未提交、可重复读和串行化隔离级别。
阅读全文