springcloud 面试题

分布式事务

1、AT,通过生成反向SQL实现数据回滚,需要在数据库额外附加UNDO_LOG表。
特点:性能高,是AP(高可用)模式,难易程度简单,靠Seata自己解析生成反向SQL并回滚。
使用要求:所有的服务是自己的服务,自己有管辖权,总不能要求第三方应用在它的数据库中添加UNDO_LOG表吧。
应用场景:高比发互联网项目,允许数据出现短暂的不一致,可通过对账系统或补录来保证最终一致性。
2、TCC,Try尝试阶段,对资源进行锁定,Confirm确认阶段,对资源进行确认,Cancel取消阶段,对资源进行还原操作。需要对原始的数据表进行修改。例如库存需要添加冻结库存字段。
特点:性能高,是AP(高可用)模式,难易程度复杂,Seata只负责全局事务的提交和回滚,具体回滚需要程序员自己实现。
使用要求:所有的服务是自己的服务,自己有管辖权,支持不同的数据库。
应用场景:高比发互联网项目,允许数据出现短暂的不一致,可通过对账系统或补录来保证最终一致性。
3、SAGA,Saga模式是SEATA提供的长事务解决方案,在Saga模式中,业务流程中每个参与者都提交本地事务,当出现某一个参与者失败则补偿前面已经成功的参与者,一阶段正向服务和二阶段补偿服务都由业务开发实现。
特点:性能取决于三方服务。AP模式,复杂,提交和回滚有程序员编写。无法保证隔离性。
应用场景:需要和第三方交互,如支付宝
4、XA模式,基于数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值