初识Seata

简介: 初识Seata

一个业务跨越了多个服务,那么我们就将这些服务称为分支事务,要保证所有分支事务最终状态一致,这样的事务就是分布式事务

可用性:集群中的节点,能不能被正常访问

分区:部分节点与其它节点失去连接,形成独立分区

容错:出现分区时,整个系统也要持续对外提供服务

简述CAP定理内容?

分布式系统节点通过网络连接,一定会出现分区问题(P)

当分区出现时,系统的一致性(C)和可用性(A)就无法同时满足

思考:elasticaearch集群是CP还是AP?

ES集群出现分区时,故障节点会被剔除集群,数据分片会重新分配到其它节点,保证数据一致。因此是低可用性,高一致性,属于CP

BASE理论

BASE理论是对CAP的一种解决思路,包含三个思想:

Basically Available(基本可用): 分布式系统在出现故障时,允许损失部分可用性,即保证核心可用

Soft State(软状态):在一定时间内,允许出现中间状态,比如临时的不一致状态

Eventually Consistent(最终一致性):虽然无法保证强一致性,但是在软状态结束后,最终达到数据一致。

解决分布式事务的思想和模型:

全局事务:整个分布式事务

分支事务:分布式事务中包含的每个子系统的事务

事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚;

事务管理器:定义全局事务的范围、开始全局事务、提交或回滚全局事务

资源管理器:管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。

初识Seata

TCC的空回滚和业务悬挂

当某分支事务的try阶段阻塞时,可能导致全局事务超时而触发二阶段的cancel操作。在未执行try操作时先执行了cancel操作,这时cancel不能做回滚,就是空回滚。

解决分布式事务,各个子系统之间必须能感知到彼此的事务状态,才能保证状态一致,因此需要一个事务协调者来协调每一个事务的参与者(子系统事务)。

简述BASE理论三个思想:

基本可用

软状态

最终一致

解决分布式事务的思想和模型:

全局事务:整个分布式事务

分支事务:分布式事务中包含的每个子系统的事务

最终一致思想:各分支事务分别执行并提交,如果有不一致的情况,再想办法恢复数据

强一致思想:各分支事务执行完业务不要提交,等待彼此结果。而后统一提交或回滚

初识Seata

Seata是2019年1月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。致力于提高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案。

Seata架构

Seata事务管理中有三个重要的角色:

TC(Transaction Coordinator)-事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚。

TM(Transaction Manager)-事务管理器:定义全局事务的范围、开始全局事务、提交或回滚全局事务。

RM-资源管理器:管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。

Seata提供了四种不同的分布式事务解决方案:

XA模式:强一致性分阶段事务模式,牺牲了一定的可用性,无业务侵入

TCC模式:最终一致的分阶段事务模式,有业务侵入

AT模式:最终一致的分阶段事务模式,无业务侵入,也是Seata的默认模式

SAGA模式:长事务模式,有业务侵入


目录
相关文章
|
SQL 关系型数据库 数据库
学习分布式事务Seata看这一篇就够了,建议收藏
学习分布式事务Seata看这一篇就够了,建议收藏
20839 2
|
存储 关系型数据库 MySQL
基于Seata实现分布式事务
通过以上步骤,你可以使用 Seata 实现分布式事务,确保在微服务架构中的事务一致性。Seata 支持多种语言和框架,能够满足不同业务场景的需求。欢迎关注威哥爱编程,一起学习成长。
537 1
|
SQL 关系型数据库 数据库
seata开发指南
seata开发指南
|
SQL NoSQL 数据库
SpringCloud基础6——分布式事务,Seata
分布式事务、ACID原则、CAP定理、Seata、Seata的四种分布式方案:XA、AT、TCC、SAGA模式
SpringCloud基础6——分布式事务,Seata
|
Java API Spring
【异常】Feign 调用api模块直接进入fallback的问题解决办法
【异常】Feign 调用api模块直接进入fallback的问题解决办法
756 0
|
Nacos 微服务
【Seata】初识Seata
Seata是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。致力于提供高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案。
526 0
|
存储 消息中间件 JSON
DDD基础教程:一文带你读懂DDD分层架构
DDD基础教程:一文带你读懂DDD分层架构
|
SQL 人工智能 自然语言处理
通义灵码代码大模型应用实践访谈
2024 年 6 月 26 日,中国信息通信研究院(以下简称“中国信通院”)在可信 AI·南京人工智能产业发展论坛正式发布了代码大模型评估结果。阿里云计算有限公司的通义灵码代码大模型顺利通过评估,获得目前最高等级 4+ 级。该等级代表阿里云通义灵码大模型在通用能力及专用场景能力绝大多部分达到优秀水平,同时具备较为成熟的管理机制。
|
SQL Java 数据库
@Transactional 用法和原理
@Transactional 用法和原理
|
关系型数据库 MySQL Apache
Seata 入门知识
Seata 入门知识