三十五、Seata的基本架构、部署TC服务、微服务集成Seata

目录

一、基本架构

1、Seata事务中的三个重要角色

2、四种不同的分布式事务解决方案:

二、TC的部署

三、微服务集成Seata

1、引入Seata相关依赖

2、配置yml文件

3、启动服务


一、基本架构

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

官网地址:Seata | Seata,其中的文档、播客中提供了大量的使用说明、源码分析。

1、Seata事务中的三个重要角色

(1) **TC (Transaction Coordinator) -**事务协调者

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

(2) **TM (Transaction Manager) -**事务管理器

定义全局事务的范围、开始全局事务、提交或回滚全局事务。

(3) **RM (Resource Manager) -**资源管理器

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

2、四种不同的分布式事务解决方案:

  • XA模式:强一致性分阶段事务模式,牺牲了一定的可用性,无业务侵入
  • TCC模式:最终一致的分阶段事务模式,有业务侵入
  • AT模式:最终一致的分阶段事务模式,无业务侵入,也是Seata的默认模式
  • SAGA模式:长事务模式,有业务侵入

二、TC的部署

三、微服务集成Seata

1、引入Seata相关依赖

复制代码
<!--        seata依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>io.seata</groupId>
                    <artifactId>seata-spring-boot-starter</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.seata</groupId>
            <artifactId>seata-spring-boot-starter</artifactId>
        </dependency>

2、配置yml文件

复制代码
seata:
  registry:
    type: nacos
    nacos:
      server-prot: 127.0.0.1:8848
      namespace: ""
      group: SEATA_GROUP
      application: seata-tc-server
      username: nacos
      password: nacos
  tx-service-group: seata-demo
  service:
    vgroup-mapping:
      seata-demo: default

3、启动服务

相关推荐
存在morning5 分钟前
【人工智能学习笔记 三】 AI教学之前端跨栈一:React整体分层架构
笔记·学习·架构
canonical_entropy2 小时前
最小信息表达:从误解到深层理解的五个关键点
后端·架构
A.说学逗唱的Coke3 小时前
【观察者模式】深入 Spring 事件驱动模型:从入门到微服务整合实战
spring·观察者模式·微服务
悠闲蜗牛�5 小时前
技术融合新纪元:深度学习、大数据与云原生的跨界实践
大数据·深度学习·云原生
蚂小蚁5 小时前
一文吃透:宏任务、微任务、事件循环、浏览器渲染、Vue 批处理与 Node 差异(含性能优化)
前端·面试·架构
徒 花6 小时前
Nginx
运维·nginx·云原生
吃饺子不吃馅6 小时前
前端画布类型编辑器项目,历史记录技术方案调研
前端·架构·github
程序猿追6 小时前
异腾910B NPU实战:vLLM模型深度测评与部署指南
运维·服务器·人工智能·机器学习·架构
回忆是昨天里的海6 小时前
k8s部署dashboard ui管理平台
云原生·容器·kubernetes