举例:结婚时,牧师问女方愿意嫁给男方吗,然后再询问男方愿意嫁给女方吗,最终两个人都同意了,才可以结婚在一起。
2.三阶段提交3.本地事务+事件表4.TCC原理协调机制补偿机制LCN原理LCN基本实现原理
1.发起方与参与方都与我们的 LCN 管理器一直保持长连接;
2.发起方在调用接口之前,先向 LCN 管理器申请一个全局的事务分组id;
3.发起方调用接口的时候在请求头中传递事务分组id;
4.参与方获取到请求头中有事务分组的id的,则当前业务逻辑执行完实现假关闭,不会提交或者回滚当前的事务。
5.发起方调用完接口后,如果出现异常的情况下,在通知给事务协调者回滚事务,这时候事务协调则告诉给参与方回滚当前的事务。
使用方式:
springboot项目主类上加上注解:@EnableDistributedTransaction
参与方与发起方都要加上该注解
@LcnTransaction 分布式事务的注解
@Transactional 本地事务的注解
TCC是应用层的补偿性事务,保证最终一致性
回滚事务时会调用所有服务的confirm接口和cancel接口
Seata AT模式Seata AT 模式分布式事务源码分析 - 开发者头条
在提交本地事务之前必须拿到全局锁,保证写隔离(保证多个线程(多个事务)同时操作一条数据的时候,只有一个可以操作成功),避免产生脏写。
写隔离- 一阶段本地事务提交前,需要确保先拿到 全局锁 。
- 拿不到 全局锁 ,不能提交本地事务。
- 拿 全局锁 的尝试被限制在一定范围内,超出范围将放弃,并回滚本地事务,释放本地锁。
步骤5是TC对每个参与者都会发起回滚的操作,此处只画一个
TCC模式 TCC原理TCC问题可靠性消息服务保证最终一致性
原理
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站名称:分布式事务实现-创新互联
链接URL:http://lswzjz.com/article/jophp.html