数据库的事务需要满足ACID原则
原子性
:值事务作为整体来执行,要么全部执行,要么全部不执行
一致性
:指事务应该确保数据,从一个一致的状态变为另一个一致的状态,如,从建行给农行转账1000,建行钱扣了,而农行没收到,这就是 不一致性状态;
隔离性
:值事务执行并发时,一个事务的执行不会被另一个事务的执行所影响
持久化
:已经提交的事务,那么数据将会永久保存
sharding的事务两阶段事务-XA
功能:
1,支持数据分片后的跨库XA事务
2,两阶段提交确保了事务的原子性和强一致性
3,服务重启宕机后,提交/回滚的事务可自动恢复
简单使用
<dependency>
<groupId>io.shardingsphere</groupId>
<artifactId>sharding-transaction-spring