三十五、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、启动服务

相关推荐
紫金修道1 天前
k8s的容器操作指令
云原生·容器·kubernetes
喝杯白开水!1 天前
K8s中的控制器DaemonSet、StatefulSet、Job、CronJob、Server发现、健康检查、存储卷(PV),相关知识总结
云原生·容器·kubernetes
我爱云计算1 天前
K8S详解(5万字详细教程)
linux·运维·云原生·容器·kubernetes
传知摩尔狮1 天前
Kubernetes (K8S) 最全图文总结
云原生·容器·kubernetes
明明跟你说过1 天前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
小马哥编程1 天前
【软考架构】第七章 系统架构设计基础知识-7.2基于架构的软件开发方法:Architecture-Based Software Design,ABSD
架构·系统架构
西陵1 天前
Nx带来极致的前端开发体验——任务编排
前端·javascript·架构
LQ深蹲不写BUG1 天前
微服务的保护方式以及Sentinel详解
微服务·云原生·架构
失散131 天前
分布式专题——1.2 Redis7核心数据结构
java·数据结构·redis·分布式·架构
布列瑟农的星空1 天前
大话设计模式——观察者模式和发布/订阅模式的区别
前端·后端·架构