admin 管理员组文章数量: 1184232
概述
最终一致性分布式解决方案并不要求参与事务的各个节点数据时刻保持一直,允许存在中间状态,只要一段时间后,能够达到数据的最终一致状态即可。
业界居于Base理论提出了如下方案
1)TCC解决方案
2)可靠消息最终一致性解决方案
3)最大努力通知解决方案
最终一致性分布式解决方案存在4种典型的服务模式:可查操作、幂等操作、TCC操作、可补偿操作。
1)可查操作:具备全局唯一标识
2)幂等操作:相同参数执行同一方法时,无论执行多少次,都能输出相同结果
3)TCC操作:分3各阶段, Try阶段 、confirm阶段、Cancel 阶段。
4)可补偿操作:数据不对时,可通过某种方式进行业务补偿,使数据达到最终一致性。
优缺点
优点
1)性能较高
2)具备可用性
3)适合高并发
缺点
1)短暂数据不一致
2)数据一致性有较高要求的不适用
TCC解决方案
主要解决跨服务调用场景下的分布式问题,适用于强隔离性、严格一致性要求的业务场景,也适用于执行时间比较短的业务。
一个完整的TCC分布式事务需要包含三个部分:主业务服务、从业务服务、TCC管理器
主业务服务是 TCC 分布式事务的发起方,在下单扣减库存的业务场景中,订单服务是 TCC 分布式事务的发起方,就是主业务服务
从业务服务主要负责提供 TCC 业务操作,是整个业务活动的操作方。从业务活动必须实现 TCC 分布式事务 Try、Confirm 和 Cancel 三个阶段的接口,供主业务服务调用。由于在 TCC 分布式事务的执行过程中,Confirm 阶段的操作和 Cancel 阶段的操作可能会被执行多次,因此需要 Confirm 阶段的操作和 Cancel 阶段的操作保证幂等性
TCC 管理器在整个 TCC 分布式事务的执行过程中,管理并控制着整个事务活动,包括记录并维护 TCC 全局事务的事务状态和每个从业务服务的分支事务状态,并在参与分布式事务的所有分支事务的 Try 阶段都执行成功时,自动调用每个分支事务的 Confirm 阶段的操作,完成分布式事务,同时会在参与分布式
版权声明:本文标题:最终一致性分布式解决方案 (7) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1766202992a3444221.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论