spring cloud Alibaba 整合 seata AT模式

 准备工作:

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整合完成!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PFA托盘400*300*42mm耐酸碱透明聚四氟乙烯方盘方槽耐高温厂家供

PFA方盘又称托盘&#xff1a;耐高温、耐腐蚀。 进口透明可溶性聚四氟乙烯方盘。可应用于成膜实验&#xff0c;样品液体脱漏等。能放在电热板上直接加热使用&#xff0c;也可以用于烘箱烘干&#xff0c;实验室腐蚀性样品的转移和搬运&#xff0c;防止腐蚀性液体洒落。 产品特性…

计算机网络 —— 应用层(FTP)

计算机网络 —— 应用层&#xff08;FTP&#xff09; FTP核心特性&#xff1a;运作流程&#xff1a; FTP工作原理主动模式被动模式 我门今天来看应用层的FTP&#xff08;文件传输协议&#xff09; FTP FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#x…

sprintboot依赖管理和自动配置

springboot依赖管理和自动配置 依赖管理和自动配置依赖管理什么是依赖管理修改自动仲裁/默认版本号 starter场景启动器starter场景启动器基本介绍官方提供的starter第三方starter 自动配置自动配置基本介绍SpringBoot自动配置了哪些?如何修改默认配置如何修改默认扫描包结构re…

基于SSM的足球联赛管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

南开大学漏洞报送证书【文尾有福利】

证书介绍 获取来源&#xff1a;edusrc&#xff08;教育漏洞报告平台&#xff09; url&#xff1a;教育漏洞报告平台(EDUSRC) 兑换价格&#xff1a;30金币​ 获取条件&#xff1a;南开大学任意中危或以上级别漏洞 证书规格&#xff1a;证书做了木框装裱&#xff0c;显得很高…

查看电脑支持的CUDA安装版本与显卡驱动更新

说明&#xff1a; torch版本依赖于CUDA版本与Python版本 Start Locally | PyTorchCUDA版本依赖于显卡驱动版本 1. CUDA 12.5 Release Notes — Release Notes 12.5 documentation 显卡驱动版本依赖于显卡型号与电脑系统 当前电脑3060显卡&#xff0c;安装了CUDA V11.6与torc…

python-画正方形

[题目描述] 输入一个正整数n&#xff0c;要求输出一个n行n列的正方形图案&#xff08;参考样例输入输出&#xff09;。图案由大写字母组成。 其中&#xff0c;第1行以大写字母A开头&#xff0c;第2行以大写字母B开头&#xff0c;以此类推&#xff1b;在每行中&#xff0c;第2列…

使用ASM动态创建接口实现类

使用ASM动态生成一个接口的实现类&#xff0c;接口如下&#xff1a; public interface ISayHello {public void MethodA();public void MethodB();public void Abs(); } 具体实现如下&#xff1a; public class InterfaceHandler extends ClassLoader implements Opcodes {pu…

DV、OV通配符SSL证书有什么区别

通配符SSL证书是经常提及的一种SSL证书类型&#xff0c;也被称为泛域名SSL证书。通配符证书在SSL证书当中是比较特殊的&#xff0c;它具有保护主域名及其下一级所有子域名的功能&#xff0c;非常适合子域名多的域名网站&#xff0c;能够有效的节省成本&#xff0c;并降低证书管…

iis下asp.netcore后台定时任务会取消

问题 使用BackgroundService或者IHostedService做后台定时任务的时候部署到iis会出现不定时定时任务取消的问题&#xff0c;原因是iis会定时的关闭网站 解决 应用程序池修改为AlwaysRunning 修改web.config <?xml version"1.0" encoding"utf-8"?…

研究Redis源码的一些前期准备

一 背景 Redis数据结构讲完后&#xff0c;觉得还是有点不过瘾&#xff0c;想研究一下Redis的底层实现。找了一些相关资料&#xff0c;准备借鉴和学习其他各位大佬钻研Redis底层的方法和经验&#xff0c;掌握Redis实现的基本原理。 二 源码归类 网上有大佬已经总结了…

内网穿透方法有哪些?路由器端口映射外网和软件方案步骤

公网IP和私有IP不能互相通讯。我们通常在局域网内部署服务器和应用&#xff0c;当需要将本地服务提供到互联网外网连接访问时&#xff0c;由于本地服务器本身并无公网IP&#xff0c;就无法实现。这时候就需要内网穿透技术&#xff0c;即内网映射&#xff0c;内网IP端口映射到外…

视频服务网关的特点

一、视频服务网关的介绍 视频服务网关采用Linux操作系统&#xff0c;可支持国内外不同品牌、不同协议、不同设备类型监控产品的统一接入管理&#xff0c;同时提供标准的H5播放接口供其他应用平台快速对接&#xff0c;让您快速拥有视频集成能力。不受开发环境、跨系统跨平台等条…

全新量子计算技术!在硅中可以生成大规模量子比特

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨沛贤/浪味仙 排版丨沛贤 深度好文&#xff1a;1600字丨6分钟阅读 摘要&#xff1a;研究人员利用气体环境在硅中形成被称为“色心”的可编程缺陷&#xff0c;首次利用飞秒激光&#xff0c;…

无线麦克风推荐哪些品牌,热门领夹无线麦克风哪个好,看本期文章

​在信息爆炸的今天&#xff0c;高品质的无线领夹麦克风能让声音更清晰响亮。技术发展带来多样化选择同时也带来选择困难。根据多年使用经验和行业反馈&#xff0c;我推荐一系列可靠、易用且性价比高的无线领夹麦克风&#xff0c;助你作出明智选择。还要不知道该怎么选无线领夹…

低投入+高效率的求职招聘小程序源码系统平台版 带完整的安装代码包以及搭建教程部署教程

系统概述 在当今数字化时代&#xff0c;求职招聘领域的竞争日益激烈。传统的求职招聘方式逐渐显露出效率低下、成本高昂等问题。为了满足市场需求&#xff0c;提高求职招聘的效率和便捷性&#xff0c;同时降低企业和求职者的成本&#xff0c;“低投入高效率的求职招聘小程序源…

AI写论文网站,提升论文写作效率

学术研究与论文写作是一个衡量学者专业水平的重要标准。但是&#xff0c;论文写作过程中繁琐的文献检索、资料整理、数据分析等工作往往耗时费力。幸运的是&#xff0c;随着人工智能技术的发展&#xff0c;一系列AI写论文网站应运而生&#xff0c;它们极大地提升了我们论文写作…

解决内核模块加载使用-f参数无法加载的问题

1. 问题现象 问题解决方案&#xff1a;在内核配置打开forced 加载选项

斑马打印机无线加装无线网卡配置

斑马打印机无线加装无线网卡&#xff0c;配置。 主机名会体现在搜索里面 输入SSID&#xff0c;选择安全模式&#xff08;一般都是这个&#xff09; 这里输入密码。

JavaWeb项目配置教程

将你的项目&#xff08;只有代码的文件&#xff0c;不是整个文件&#xff09;拖入idea 找到数据库配置代码&#xff08;一般在Util包里面&#xff0c;或者是properties配置文件&#xff09;并将密码修改为你的数据库密码。 点击Edit Configurations 点击Configure&#xff0…