spring cloud Alibaba 整合 seata AT模式

news2024/11/18 11:43:10

 准备工作:

1、MySQL正常安装并启动

2、nacos正常部署并启动

3、下载 Seata-1.4.2 源码包和 seata-server-1.4.2 服务端源码包(版本根据自己的需要选择,我这里选择1.4.2)

下载地址:

Seata:https://gitee.com/mirrors/Seata/tree/1.4.2/

seata-server:https://github.com/apache/incubator-seata/releases/tag/v1.4.2

整合步骤:

1、修改registry.conf

解压seata-server-1.4.2.jar,打开目录seata-server-1.4.2\seata\seata-server-1.4.2\conf\,编辑registry.conf文件

注册中心:

修改type为nacos,编辑nacos信息,与nacos部署信息一致

配置中心:

修改type为nacos,编辑nacos信息,与nacos部署信息一致

2、编辑config.text文件

解压Seata-1.4.2.zip,打开目录Seata-1.4.2\script\config-center\,编辑config.text文件

修改数据库相关配置

具体配置如下:

store.mode=db

store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.cj.jdbc.Driver
store.db.url=jdbc:mysql://192.168.1.3:3306/seata?useUnicode=true
store.db.user=root
store.db.password=root
store.db.minConn=5
store.db.maxConn=30
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.queryLimit=100
store.db.lockTable=lock_table
store.db.maxWait=5000

编辑完成后,将该文件(config.text文件)放入seata-server的目录下:seata-server-1.4.2\seata\seata-server-1.4.2\

3、使⽤ nacos-config.sh ⽤于向 Nacos 中添加配置
进入目录Seata-1.4.2\script\config-center\nacos\,将nacos-config.sh文件复制到seata-server-1.4.2\seata\seata-server-1.4.2\conf\目录
seata-server-1.4.2\seata\seata-server-1.4.2\conf\目录下执行 nacos-config.sh,根据自己的需要
选择执行参数(本地打开开 git bash here执行,服务器直接输入命令执行)
sh nacos-config.sh -h 127.0.0.1 -t a7de83cd-ffae-4d5c-be7a-b16c18772af4

-h:主机ip地址  -p:端口  -t:namespace  -g:group  -u:username  -w:password

执行成功后,如下显示:

如果失败了,检查一下是不是有空值,config.text文件默认有4个属性没有配置值,随便给个值配置上

登录nacos查看配置信息

4、启动seata-server

进入目录seata-server-1.4.2\seata\seata-server-1.4.2\bin\

本地双击seata-server.bat启动,服务器上输入如下命令启动:

sh seata-server.sh

启动成功显示:

观察nacos服务列表:
5、添加seata数据库
seata的分布式事务需要使用到数据库,这里单独给他建一个数据库seata,并 创建 global_table/branch_table/lock_table/undo_log 四 张表
seata1.0 以上就不⾃带数据库⽂件了,要⾃⼰去github 下载,下载地址:
incubator-seata/script/server/db at develop · apache/incubator-seata · GitHub
在数据库执行mysql.sql文件,并在每一个微服务的数据库里执行创建undo_log表的sql
CREATE TABLE `undo_log` (
 `id` bigint(20) NOT NULL AUTO_INCREMENT,
 `branch_id` bigint(20) NOT NULL,
 `xid` varchar(100) NOT NULL,
 `context` varchar(128) NOT NULL,
 `rollback_info` longblob NOT NULL,
 `log_status` int(11) NOT NULL,
 `log_created` datetime NOT NULL,
 `log_modified` datetime NOT NULL,
 `ext` varchar(100) DEFAULT NULL,
 PRIMARY KEY (`id`),
 UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
6、配置客户端
引入对应版本的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>
                <exclusion>
                    <groupId>io.seata</groupId>
                    <artifactId>seata-all</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>io.seata</groupId>
            <artifactId>seata-spring-boot-starter</artifactId>
        </dependency>

配置bootstrap.yml文件(如果使用了nacos的配置中心,则需要将application.yml改为bootstrap.yml,没有则使用application.yml):

spring:
  cloud:
    alibaba:
      seata:
        tx-service-group: my_test_tx_group

seata:
  #事务组,根据这个获取tc的五福的cluster名称
  tx-service-group: my_test_tx_group
  service:
    vgroup-mapping:
      my_test_tx_group: default
  #事物模式
  data-source-proxy-mode: AT
  #注册中心
  registry:
    type: nacos
    nacos:
      application: seata-server #tc服务在nacos的服务名称
      server-addr: 127.0.0.1:8848
      username: nacos
      password: nacos
      group: SEATA_GROUP
      namespace: a7de83cd-ffae-4d5c-be7a-b16c18772af4
  #配置中心
  config:
    type: nacos
    nacos:
      server-addr: 127.0.0.1:8848
      username: nacos
      password: nacos
      group: SEATA_GROUP   #nacos配置中心的Group
      # data-id: seataServer.properties #nacos配置中心的data-id
      namespace: a7de83cd-ffae-4d5c-be7a-b16c18772af4
spring.cloud和seata的tx-service-group的值对应config.txt里的service.vgroupMapping.my_test_tx_group=default配置的属性:my_test_tx_group
seata.service.vgroupMapping.my_test_tx_group:default配置与config.text的配置service.vgroupMapping.my_test_tx_group=default一致

配置完后启动项目,观察seata服务端:

显示客户端以注册上来

7、使用@GlobalTransactional 注解使方法加入分布式事务

seata整合完成!!

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

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

相关文章

区间问题——905. 区间选点

目录 区间问题 定义 运用情况 注意事项 解题思路 AcWing 905. 区间选点 题目描述 运行代码 代码思路 改进思路 其它代码 代码思路 区间问题 定义 区间通常是指一个连续的范围&#xff0c;可以用数轴上的一段来表示。 运用情况 在数学中广泛用于表示变量的取值范…

【初阶数据结构】深入解析栈:探索底层逻辑

&#x1f525;引言 本篇将深入解析栈:探索底层逻辑&#xff0c;理解底层是如何实现并了解该接口实现的优缺点&#xff0c;以便于我们在编写程序灵活地使用该数据结构。 &#x1f308;个人主页&#xff1a;是店小二呀 &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#x1…

Paimon Trino Presto的关系 分布式查询引擎

Paimon支持的引擎兼容性矩阵&#xff1a; Trino 是 Presto 同项目的不同版本&#xff0c;是原Faceboo Presto创始人团队核心开发和维护人员分离出来后开发和维护的分支&#xff0c;Trino基于Presto&#xff0c;目前 Trino 和 Presto 都仍在继续开发和维护。 Trino 生态系统-客…

YOLOv8改进 | SPPF | 具有多尺度带孔卷积层的ASPP【CVPR2018】

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40篇内容&#xff0c;内含各种Head检测头、损失函数Loss、…

基于SSM+Jsp的校园餐厅管理

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

【C语言】函数执行背后的秘密:函数栈帧的创建和销毁超详解

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 目录 1. 什么是函数栈帧 2. 理解函数栈帧能解决什么问题呢&#xff1f; 3. 函数栈帧的创建和销毁解析 3.1 什么是栈&#xff1f; 3.2 认识相关寄存器和汇编指…

感恩父爱 健康同行 宁夏康源父亲节特惠普查

父亲&#xff0c;是那道坚实的屏障&#xff0c;为孩子们挡风遮雨。父亲&#xff0c;是那颗明亮的灯塔&#xff0c;为孩子们指明前进的方向。然而岁月无情&#xff0c;随着年龄的增长&#xff0c;曾经为我们遮风挡雨的父亲如今也逐渐进入了各种疾病的高发期。感恩父爱&#xff0…

selenium前期准备

1. 驱动地址&#xff1a; a. chromedriver:https://googlechromelabs.github.io/chrome-for-testing/ b. https://registry.npmmirror.com/binary.html?pathchromedriver/ 下载好的驱动一般放在Python初始文件夹下&#xff0c;例如&#xff1a;D:\Python3.8 2. selenium原理…

USB2.0学习4--USB包结构和包类型

目录 1. USB包基本结构 1.1 SOP域&#xff08;Start Of Packet&#xff09; 1.2 SYNC域&#xff08;同步域&#xff09; 1.3 PID域&#xff08;标识域&#xff09; 1.4 地址域&#xff08;ADDR&#xff09; 1.5 帧号域&#xff08;Fram&#xff09; 1.6 数据域&#xff…

医卫兰大药学试题及答案,分享几个实用搜题和学习工具 #经验分享#笔记#知识分享

随着信息技术的快速发展&#xff0c;搜题软件应运而生&#xff0c;为大学生提供了便捷的问题解答方式。 1.滑记 你可以选择一个学习类别&#xff0c;部分学习类别包括了多个学习卡包&#xff0c;每个学习卡包提供了简介和目录&#xff0c;每个学习卡包有多张学习卡片。 里面…

如何使用MATLAB写测试(4)重复劳动?TestMethodSetup!

如何使用MATLAB写测试&#xff08;4&#xff09;重复劳动&#xff1f;TestMethodSetup&#xff01; 原文&#xff1a;如何使用MATLAB写测试&#xff08;4&#xff09;重复劳动&#xff1f;TestMethodSetup&#xff01; - 知乎 (zhihu.com) 我们来自俄罗斯的实习生是学Compute…

SmartEDA引领教育革命:创新电路设计,点亮学生实践之路!

在数字化浪潮席卷全球的今天&#xff0c;教育领域的每一次创新都牵动着无数家长与学生的心。特别是在电路设计这一复杂而有趣的领域中&#xff0c;学生们往往因为缺乏实践机会和高效工具而感到迷茫。然而&#xff0c;随着SmartEDA的横空出世&#xff0c;这一切正在悄然发生改变…

通用大模型VS垂直大模型:你更青睐哪一方?

目录 引言 背景介绍 国内外垂直大模型的发展情况 国内外通用大模型的发展情况 哪一路径更为火热&#xff1f; 能力分析 通用大模型的独特能力 垂直大模型的独特能力 两者的差异与互补 难点探究 算力的挑战 数据的挑战 算法的挑战 结论 表格总结 引言 AI大模型的战…

前端开发接单公司做到哪些点,客户才愿意把项目包给你。

作为前端外包接单公司&#xff0c;你知道客户选择和你合作都看中哪些因素吗&#xff1f;单纯是价格吗&#xff1f;未必&#xff0c;本位给大家列举7个要素&#xff0c;并对每个要素做了定位&#xff0c;大家查缺补漏吧。 作为前端外包接单公司&#xff0c;要吸引同行客户将前端…

AI儿童绘本创作

之前分享过AI儿童绘画的项目&#xff0c;但是主要问题是角色一致要花费很长的时间&#xff01; 今天发现了这款&#xff0c;非常奈斯&#xff01; 只需输入故事主题、风格、模板&#xff0c;软件就会自动创作故事内容&#xff0c;自动生成插画配图&#xff0c;自动根据模板生…

29 哈希

目录 unordered系列关联式容器底层结构模拟实现 1. unordered系列关联式容器 在c98中&#xff0c;STL提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可达到 l o g 2 N log_2N log2​N&#xff0c;即最差情况下需要比较红黑树的高度次&#xff0c;当树中…

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据…

【云计算 复习】第5节 交互式分析工具Dremel(含大题)

一、概念 1.概述 &#xff08;1&#xff09;数据本身不会产生价值 只有经过分析才有可能产生价值。 &#xff08;2&#xff09;Google的Dremel是第一个在嵌套数据模型基础上实现列存储的系统。 &#xff08;3&#xff09;列存储有其便利之处&#xff0c;因为在不同列中相同位置…

windows-docker-本地部署-前端

前置条件 docker已有需要打包的文件也已经写好了 打包镜像 ip地址修改 需要根据自身修改的文件 .env.local文件存放你前端访问的端口 172.24.240.1:这部分是自己电脑的ip 如何查看本机ip&#xff0c;使用IPV4的地址。 #本地 #API_HOST_URLhttp://172.24.240.1:8091打包文…

在线装修管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;装修队管理&#xff0c;用户管理&#xff0c;装修管理&#xff0c;基础数据管理&#xff0c;论坛管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;…