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

相关推荐
JienDa1 小时前
JienDa聊PHP:小红书仿站实战深度架构全解析
开发语言·架构·php
better_liang5 小时前
每日Java面试场景题知识点之-分布式事务处理
java·微服务·面试·springcloud·分布式事务
代码改善世界7 小时前
【前瞻创想】Kurator:驾驭分布式云原生世界的“统一舰队”
分布式·云原生
im_AMBER8 小时前
Canvas架构手记 05 鼠标事件监听 | 原生事件封装 | ctx 结构化对象
前端·笔记·学习·架构
代码改善世界8 小时前
【探索实战】从零到一:Kurator 构建分布式云原生平台的探索与实践
分布式·云原生
JienDa8 小时前
JienDa聊PHP:电商实战中主流PHP框架的协同策略与架构优化
开发语言·架构·php
JienDa8 小时前
JienDa聊PHP:起卦、卜卦平台实战中PHP框架的协同架构方略
开发语言·架构·php
a***13148 小时前
Partition架构
架构
q***16088 小时前
MySQL的底层原理与架构
数据库·mysql·架构
JienDa8 小时前
JienDa聊PHP:盲盒电商实战中主流PHP框架的协同架构方略
开发语言·架构·php