微服务集成 Seata

news2024/11/16 9:21:07

文章目录

  • 引入依赖
  • 配置TC地址
  • 其它服务
  • 使用

在这里插入图片描述


本篇文章介绍分布式架构下, 各个微服务之间要达成分布式事务, 引入 Seata 的步骤和使用方式.


引入依赖

首先,在 order-service 服务中引入依赖:

<!--seata-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
    <exclusions>
        <!--版本较低,1.3.0,因此排除--> 
        <exclusion>
            <artifactId>seata-spring-boot-starter</artifactId>
            <groupId>io.seata</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>io.seata</groupId>
    <artifactId>seata-spring-boot-starter</artifactId>
    <!--seata starter 采用1.4.2版本-->
    <version>${seata.version}</version>
</dependency>

配置TC地址

order-service 中的 application.yml 中,配置 TC 服务信息,通过注册中心 nacos,结合服务名称获取 TC 地址:

seata:
  registry: # TC服务注册中心的配置,微服务根据这些信息去注册中心获取tc服务地址
    type: nacos # 注册中心类型 nacos
    nacos:
      server-addr: 127.0.0.1:8848 # nacos地址
      namespace: "" # namespace,默认为空
      group: DEFAULT_GROUP # 分组,默认是DEFAULT_GROUP
      application: seata-tc-server # seata服务名称
      username: nacos
      password: nacos
  tx-service-group: seata-demo # 事务组名称
  service:
    vgroup-mapping: # 事务组与cluster的映射关系
      seata-demo: SH

微服务如何根据这些配置寻找TC的地址呢?

我们知道注册到Nacos中的微服务,确定一个具体实例需要四个信息:

  • namespace:命名空间
  • group:分组
  • application:服务名
  • cluster:集群名

以上四个信息,在刚才的 yaml 文件中都能找到:

在这里插入图片描述

namespace 为空,就是默认的 public

结合起来,TC 服务的信息就是:public@DEFAULT_GROUP@seata-tc-server@SH,这样就能确定TC服务集群了。然后就可以去 Nacos 拉取对应的实例信息了。

其它服务

其它参与分布式事务的微服务也都参考 order-service 的步骤来做,完全一样。

使用

在事务发起的方法上加注解: @GlobalTransactional

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2086023.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv8改进 | 模块缝合 | C2f融合多尺度表征学习模块 【含OD、RTDETR、OBB等yaml文件】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…

String框架基础补充

前言 本文将继续上一篇文章的内容对 Spring 数据访问层管理,Spring集成mybatis等知识进行补充,未看过上一篇文章的小伙伴可以点击下方链接,跳转观看上一篇文章Spring框架基础https://mp.csdn.net/mp_blog/creation/editor/141639879 Spring数据访问层管理 首先,我们需要知道 : …

软考高项彻底没用了?谁说的?站出来,我保证不笑场!

哎呀&#xff0c;最近这风言风语可不少啊&#xff0c;说咱们的软考高项证书成了“过气网红”&#xff0c;彻底没用了&#xff1f;这可真是让我哭笑不得&#xff0c;咱们得好好聊聊这个话题&#xff0c;不能让这“谣言”满天飞啊&#xff01; 首先&#xff0c;我得说&#xff0…

直播电商如何重构人场关系?推荐这套电商精细化运营方案!

随着电子商务的不断发展&#xff0c;直播电商和货架电商已经成为两大主流的在线购物模式。它们各自以独特的方式满足消费者的购物需求&#xff0c;同时也有不同的商业挑战和机遇。本文将从消费者行为、技术应用、品牌策略等多个角度分析这两种电商模式的核心区别。同时&#xf…

大众集团25届校招社招网申入职SHL测评题库:综合能力测评、性格问卷、英语测评考什么?

恭喜您通过大众汽车(中国)科技有限公司的简历初。请点击下面的测评链接&#xff0c;在5天内完成测评&#xff0c;过期失效(例:3.11收到链接&#xff0c;3.15为最后一天有效期)。每位人选只有一次测评机会。 ​大众汽车入职测试细节: 1.性格问卷:25 分钟 2.综合能力:46 分钟&a…

Python 轻松去除验证码干扰点,让识别不再犯难

Python 轻松去除验证码干扰点&#xff0c;让识别不再犯难 引言一、干扰点噪声二、图片降噪三、测试运行结果写在最后 作者&#xff1a;高玉涵 时间&#xff1a;2024.8.29 21:52 博客&#xff1a;blog.csdn.net/cg_i 环境&#xff1a;Windows10、Python 3.11.3、PIL、Tesseract-…

Unet改进10:在不同位置添加CPCA||通道先验卷积注意力机制

本文内容:在不同位置添加CPCA注意力机制 目录 论文简介 1.步骤一 2.步骤二 3.步骤三 4.步骤四 论文简介 低对比度和显著的器官形状变化等特征经常出现在医学图像中。现有注意机制的自适应能力普遍不足,限制了医学影像分割性能的提高。本文提出了一种有效的通道先验卷积…

储能电池热失控监测系统的研发难点是什么?

​ ​​储能电池热失控监测系统的研发难点主要包括以下几个方面&#xff1a; ​ ​1.准确的早期预警 ​ ​在热失控发生的早期阶段&#xff0c;电池的温度、电压、电流等特征参数变化可能非常缓慢&#xff0c;通过传统的监测方法难以及早地监测到电池故障。而此时电池…

使用C++,仿照string类,实现myString

类由结构体演化而来&#xff0c;只需要将struct改成关键字class&#xff0c;就定义了一个类 C中类和结构体的区别&#xff1a;默认的权限不同&#xff0c;结构体中默认权限为public&#xff0c;类中默认权限为private 默认的继承方式不同&#xff0c;结构体的默认继承方式为p…

LLM的发展简述

文章目录 1. NLP的发展简史2. LLM 的进展3. 参考 1. NLP的发展简史 信息理论的创立&#xff1a;20世纪50年代&#xff0c;Claude Shannon 奠定了信息理论的基础&#xff0c;引入了熵和冗余等概念&#xff0c;对 NLP 和计算语言学产生了深远影响。 形式语法的发展&#xff1a;…

代码随想录(day8)—环形链表

题目 预备知识点&#xff1a; for和while的区别 while语句属于循环语句&#xff0c;在判断是&#xff0c;如果条件为true&#xff0c;则会继续判断&#xff0c;直到false为止&#xff0c;即会进行多次判断&#xff08;除非一开始条件就是错的&#xff09;。 if语句属于条件判…

炫光HUD杂散光测试方法及设备

HUD杂散光测试概述 HUD&#xff08;Heads-Up Display&#xff09;抬头显示器是现代汽车中的一项先进技术&#xff0c;它可以将重要信息如速度、导航等投射在驾驶员的视线前方&#xff0c;从而减少低头查看仪表盘的次数&#xff0c;提高行车安全。然而&#xff0c;HUD在实际使用…

数据主权与隐私保护的深入探讨

随着数字化进程的加速&#xff0c;数据已成为当今世界的重要资源。数据主权和隐私保护这两个概念也越来越受到关注。数据主权涉及到国家对数据的控制权和管理权&#xff0c;而隐私保护则关乎个人数据的安全性和隐私权利。两者相互交织&#xff0c;共同塑造了数字时代的法律、经…

PTA - python暑假题集1

目录 7-1 Hello World!7-2 计算摄氏温度7-3 计算物体自由下落的距离7-4 整数四则运算7-5 求整数均值7-6 输出带框文字7-7 整数152的各位数字7-8 计算火车运行时间7-9 计算存款利息7-10 逆序的三位数7-11 重要的话说三遍7-12 后天7-13 I Love GPLT7-14 是不是太胖了7-15 计算指数…

day44——C++对C的扩充

八、C对函数的扩充 8.1 函数重载&#xff08;overload&#xff09; 1> 概念 函数重载就是能够实现"一名多用"&#xff0c;是实现泛型编程的一种 泛型编程&#xff1a;试图以不变的代码&#xff0c;来实现可变的功能 2> 引入背景 程序员在写函数时&#x…

某系统存在任意文件下载漏洞

穷者&#xff0c;谁不想达&#xff0c;达者&#xff0c;更畏惧穷。为求发达&#xff0c;穷人兢兢业业&#xff0c;辛辛苦苦&#xff0c;农耕其田&#xff0c;工利其器&#xff0c;商务其业&#xff0c;学读其书&#xff0c;人人都在独善其身&#xff0c;可除了那些少数的书生可…

VS2022打包Docker镜像

1. 前置环境 操作系统win10/win11 安装 Docker Desktop 2. 演示项目 https://gitee.com/izory/ZrAdminNetCore .net8 分支为例 3. 添加 docker支持 4. 配置工程文件 在.proj 文件加上 <ContainerRepository>ZrAdminCore</ContainerRepository> <Containe…

【C++ 面试 - 内存管理】每日 3 题(八)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

视频压缩工具哪个好?视频压缩工具安利

还在为视频文件过大而烦恼吗&#xff1f;想要快速分享或上传视频却受限于空间或时间&#xff1f; 别担心&#xff0c;今天我来告诉你们&#xff1a;视频压缩成文件怎么弄。 无需复杂操作&#xff0c;轻松几步&#xff0c;就能让你的视频文件瘦身成功&#xff0c;既保留关键内…

深度学习基础—结构化机器学习项目

1.正交化 这是一个老式电视&#xff0c;有一组旋钮可以对画面进行调节&#xff0c;例如高度、宽度、画面梯形角度、画面位置、画面旋转等等&#xff0c;但是如果有一个旋钮&#xff0c;旋转时可以调节上面所有参数&#xff0c;那么就会出现一种情况&#xff1a;当前的画面高度和…