分布式事务2-分布式系统/微服务架构

分布式事务
本质上来说,分布式事务就是为了保证不同数据库的数据一致性。跨多个JVM进程的事务。

分布式事务产生的原因

从上面本地事务来看,我们可以分为两块:

Service 产生多个节点----微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务
Resource 产生多个节点------分库分表

分布式事务的几种实现思路

柔性事务解决方案架构

柔性事务有两个特性:基本可用和柔性状态。所谓基本可用是指分布式系统出现故障的时候允许损失一部分的可用性。柔性状态是指允许系统存在中间状态,这个中间状态不会影响系统整体的可用性,比如数据库读写分离的主从同步延迟等。柔性事务的一致性指的是最终一致性。
(一)、基于可靠消息的最终一致性方案概述

场景:这个方案的使用还是比较广,目前国内互联网公司大都是基于这种思路玩儿的。

最大努力通知方案
场景:一般用在不太重要的业务操作中,就是那种完成的话是锦上添花,但失败的话对我也没有什么坏影响的场景。

4.3 tcc强一致性方案

场景:一般来说跟钱相关的,跟钱打交道的,支付、交易相关的场景,我们会用TCC,严格保证分布式事务要么全部成功,要么全部自动回滚,严格保证资金的正确性,在资金上不允许出现问题。需要自己编写大量的业务逻辑,自己判断一个事务中的各个环节是否ok,不ok就执行补偿/回滚代码。

https://www.cnblogs.com/bluemiaomiao/p/11216380.html

发布了29 篇原创文章 · 获赞 0 · 访问量 1662

猜你喜欢

转载自blog.csdn.net/glamour2015/article/details/104041045