三十五、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 小时前
《云端变革:云计算重塑现代企业架构的实践之路》
架构·云计算
过客随尘1 小时前
从设计架构角度对比二进制序列化与JSON序列化
架构
uhakadotcom2 小时前
Julia语言:高性能数值计算的新星
面试·架构·github
码熔burning4 小时前
【Spring Cloud Alibaba】:Nacos 入门讲解
分布式·spring cloud·微服务
云上艺旅4 小时前
K8S学习之基础六十八:Rancher创建deployments资源
学习·云原生·容器·kubernetes·rancher
rider1894 小时前
【4】搭建k8s集群系列(二进制部署)之安装master节点服务(kube-apiserver)
云原生·容器·kubernetes
強云6 小时前
界面架构- MVP(Qt)
qt·架构
GreenMountainEcho12 小时前
Kubernetes 入门篇之 Node 安装与部署
云原生·容器·kubernetes
alden_ygq15 小时前
k8s statefulset pod重启顺序
云原生·容器·kubernetes
极客先躯15 小时前
高级java每日一道面试题-2025年3月22日-微服务篇[Nacos篇]-Nacos的主要功能有哪些?
java·开发语言·微服务