SpringCloud:分布式事务Seata

news/2024/12/23 5:58:28/

1.什么是分布式事务

分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。

2.分布式事务的产生的原因

2.1.数据库分库分表

当数据库单表一年产生的数据超过一千万,那么就要考虑分库分表,具体分库分表的原理在此不做解释,以后有空详细说,简单的说就是原来的一个数据库变成了多个数据库。这时候,如果一个操作既访问A库,又访问B库,而且要保证数据的一致性,那么就要用到分布式事务。

在这里插入图片描述

2.2.应用SOA

所谓的SOA化,就是业务的服务化。比如原来单机支撑了整个电商网站,现在对整个网站进行拆解,分离出了订单中心、用户中心、库存中心。对于订单中心,有专门的数据库存储订单信息,用户中心也有专门的数据库存储用户信息,库存中心也会有专门的数据库存储库存信息。这时候如果要同时对订单和库存进行操作,那么就会涉及到订单数据库和库存数据库,为了保证数据一致性,就需要用到分布式事务。

在这里插入图片描述

3.分布式事务Seata

3.1.分布式事务Seata介绍

SeataSimple Extensible Autonomous Transaction Architecture,简单可扩展自治事务框架)是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。Seata开源半年左右,目前已经有接近一万 star,社区非常活跃。

官网:https://seata.io/zh-cn/index.html

在这里插入图片描述

3.2.分布式事务Seata产品模块

Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了ATTCCSAGAXA事务模式,为用户打造一站式的分布式解决方案。

在这里插入图片描述

首先,如何定义分布式事务?
我们说,分布式事务是由一批分支事务组成的全局事务,通常分支事务只是本地事务。

在这里插入图片描述

Seata框架中有三个角色:

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

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

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

在这里插入图片描述

Seata托管分布式事务的典型生命周期:

  • TM开启分布式事务(TMTC注册全局事务记录);
  • 按业务场景,编排数据库、服务等事务内资源(RMTC汇报资源准备状态 );
  • TM结束分布式事务,事务一阶段结束(TM通知TC提交/回滚分布式事务);
  • TC汇总事务信息,决定分布式事务是提交还是回滚;
  • TC通知所有RM提交/回滚 资源,事务二阶段结束。

在这里插入图片描述


http://www.ppmy.cn/news/389513.html

相关文章

SpringBoot 集成 RocketMQ

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

【redis】数据类型,持久化、事务和锁机制、Java和redis交互、使用redis缓存、三大缓存问题

文章目录 Redis数据库NoSQL概论Redis安装和部署基本操作数据操作 数据类型介绍HashListSet和SortedSet 持久化RDBAOF 事务和锁机制锁 使用Java与Redis交互基本操作SpringBoot整合Redis 使用Redis做缓存Mybatis二级缓存Token持久化存储 三大缓存问题缓存穿透缓存击穿缓存雪崩 Re…

真鱼游来游去动态壁纸_超级漂亮的鱼池动态壁纸(Fish Pond)1.54中文完整版

超级漂亮的鱼池动态壁纸(Fish Pond)1.54中文完整版 书法字体2017.03.15Fish Pond 分享一款超级漂亮的鱼池动态壁纸应用-Fish Pond。Fish Pond鱼池动态壁纸是一款神奇的 3D动态壁纸,它可以将你的设备屏幕瞬间转变成一个精美绝伦、效果逼真的水景池塘! 池塘中居住着灵…

一文了解计算机视觉与自然语言处理融合的研究进展

来自:python遇见NLP 导读 通过语言给予智能体指示使其完成通用性的任务是人工智能领域的愿景之一。近年来有越来越多的学者试图通过融合计算机视觉与自然语言处理领域的相关技术以期实现此目标。 近年来,深度学习方法已经在计算机视觉、自然语言处理和自…

荒野大镖客2

本系列文章摘取自 Gamker 攻壳的《就知道玩游戏》系列视频,该系列文案有许多独特、先进的观点,个人一直是个游戏迷,认为游戏是第九艺术,在 Gamker 的的视频中看到了学术又接地气的多角度评测,对人非常具有启发性&#…

audio 小程序 放大_微信小程序搜索优化指南

微信在2019年重点对搜索进行了升级,开放了小程序基于页面的搜索,搜索将不再局限于搜索具体的某一个小程序名称,“小程序名称”的优势已经下落神坛。目前搜索是当下小程序唯一的自然流量来源,用户在使用搜索的情况下用户需求十分精…

网工内推 | 数通专场!最高19k*13薪,HCIE/CCIE认证优先

01 嘉环科技股份有限公司 招聘岗位:数据工程师 职责描述: 1、 承担TL/TE职责,负责数通接入(路由器、交换机、安全、PTN、OLT等)相关产品的工程项目交付。 2、 作为技术负责人/交付工程师支撑项目交付,指导…

管理类联考——英语——知识篇——考研英语熟词生义

考研英语熟词生义 A 1.abandon【生义】放松,沉溺 2.abide【【生义】容忍,经受住 3.abroad【生义】广为流传,传开 4.abrupt【生义】陡峭的,险峻的 5.absent【生义】漫不经心的 6.absolute【【生义】基本的 7.absorb【生义】…