nacos1.4.0与seata搭建实现分布式物

news2025/1/13 7:57:21

下载nacos

https://github.com/alibaba/nacos/tags
https://github.com/alibaba/nacos/releases/tag/1.4.0

在这里插入图片描述

下载seata

https://github.com/seata/seata/releases/tag/v1.4.0

在这里插入图片描述
注意:最好使用相同版本,不然出问题会找很久的

创建seata数据库

1.创建数据库导入表

在这里插入图片描述
导入数据库表

-- the table to store GlobalSession data
drop table if exists `global_table`;
create table `global_table` (
  `xid` varchar(128)  not null,
  `transaction_id` bigint,
  `status` tinyint not null,
  `application_id` varchar(32),
  `transaction_service_group` varchar(32),
  `transaction_name` varchar(128),
  `timeout` int,
  `begin_time` bigint,
  `application_data` varchar(2000),
  `gmt_create` datetime,
  `gmt_modified` datetime,
  primary key (`xid`),
  key `idx_gmt_modified_status` (`gmt_modified`, `status`),
  key `idx_transaction_id` (`transaction_id`)
);

-- the table to store BranchSession data
drop table if exists `branch_table`;
create table `branch_table` (
  `branch_id` bigint not null,
  `xid` varchar(128) not null,
  `transaction_id` bigint ,
  `resource_group_id` varchar(32),
  `resource_id` varchar(256) ,
  `lock_key` varchar(128) ,
  `branch_type` varchar(8) ,
  `status` tinyint,
  `client_id` varchar(64),
  `application_data` varchar(2000),
  `gmt_create` datetime,
  `gmt_modified` datetime,
  primary key (`branch_id`),
  key `idx_xid` (`xid`)
);

-- the table to store lock data
drop table if exists `lock_table`;
create table `lock_table` (
  `row_key` varchar(128) not null,
  `xid` varchar(96),
  `transaction_id` long ,
  `branch_id` long,
  `resource_id` varchar(256) ,
  `table_name` varchar(32) ,
  `pk` varchar(36) ,
  `gmt_create` datetime ,
  `gmt_modified` datetime,
  primary key(`row_key`)
);

2.业务数据库执行表

-- the table to store seata xid data
-- 0.7.0+ add context
-- you must to init this sql for you business databese. the seata server not need it.
-- 此脚本必须初始化在你当前的业务数据库中,用于AT 模式XID记录。与server端无关(注:业务数据库)
-- 注意此处0.3.0+ 增加唯一索引 ux_undo_log
-- drop table `undo_log`;
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;

在这里插入图片描述

按seata步骤

1.修改seata配置file.conf

在这里插入图片描述
在这里插入图片描述

2.修改seata配置registry.conf

在这里插入图片描述
在这里插入图片描述

3.将nacos-config.sh脚本复制到seata/conf下

	在conf文件夹内,需要nacos-config.sh文件,这个文件1.4.0版本是没有的。下面有获取地址。

在这里插入图片描述
下载nacos-config.sh文件

4.将config.txt文件复制到seata目录下

在这里插入图片描述
修改文件config.txt
在这里插入图片描述
config.txt下载

5.在nacos创建匿名空间

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.打开git bash,进入

输入执行命令:

sh nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -t 6bae1385-3391-467c-896b-463a467d4749 -u nacos -w nacos
注:命令解析:-h -p 指定nacos的端口地址;-g 指定配置的分组,注意,是配置的分组;-t 指定命名空间id; -u -w指定nacos的用户名和密码,同样,这里开启了nacos注册和配置认证的才需要指定。

在这里插入图片描述
开始执行
在这里插入图片描述
执行成功效果
在这里插入图片描述

7.回到nacos控制查看配置管理

在这里插入图片描述
在这里插入图片描述

8.启动seata服务

进入seata/bin文件下,点击seata-server.bat可以启动
在这里插入图片描述
启动成功效果
在这里插入图片描述
在nacos查看seata是否注册成功
在这里插入图片描述
至此seata服务端搭建完成

客户端代码搭建

1.分布式项目结构

在这里插入图片描述

1.用户权限系统管理模块pom.xml文件引入如下依赖

 <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
        </dependency>

2.修改配置文件bootstrap.yml
修改内容:

seata:
  enabled: true
  enable-auto-data-source-proxy: true
  tx-service-group: my_test_tx_group
  registry:
    type: nacos
    nacos:
      application: seata-server
      server-addr: 127.0.0.1:8848
      username: nacos
      password: nacos
  config:
    type: nacos
    nacos:
      server-addr: 127.0.0.1:8848
      group: SEATA_GROUP
      username: nacos
      password: nacos
      namespace: 6bae1385-3391-467c-896b-463a467d4749
  service:
    vgroup-mapping:
      my_test_tx_group: default
    disable-global-transaction: false
  client:
    rm:
      report-success-enable: false

最终修改:

server:
  port: 8001
  servlet:
    context-path: /system
spring:
  application:
    name: system-server # 当前服务的应用名,与nacos中的dataid的前缀匹配
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848 # 注册中心地址  nacos server
      config:
        server-addr: 127.0.0.1:8848 # 配置中心地址 nacos server
        file-extension: yml # 配置中心的配置后缀
  profiles:
    active: dev # 指定环境为开发环境,即读取 system-server-dev.yml

seata:
  enabled: true
  enable-auto-data-source-proxy: true
  tx-service-group: my_test_tx_group
  registry:
    type: nacos
    nacos:
      application: seata-server
      server-addr: 127.0.0.1:8848
      username: nacos
      password: nacos
  config:
    type: nacos
    nacos:
      server-addr: 127.0.0.1:8848
      group: SEATA_GROUP
      username: nacos
      password: nacos
      namespace: 6bae1385-3391-467c-896b-463a467d4749
  service:
    vgroup-mapping:
      my_test_tx_group: default
    disable-global-transaction: false
  client:
    rm:
      report-success-enable: false

在这里插入图片描述

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

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

相关文章

Termius ssh ubuntu、kali、centos

目录Termius ssh ubuntu、centos、kali一、Ubuntu开启ssh服务及允许root登录1、Ubuntu默认没有安装ssh的server&#xff0c;需要安装2、允许远程使用root账号ssh连接本机修改/etc/ssh/sshd_config文件3、需要重启系统或者ssh服务&#xff0c;刚安装完ssh-sserver服务默认开启4、…

【自然语言处理】实验1答案:Word2Vec TransE案例

NLP_class 学堂在线《自然语言处理》实验课代码报告&#xff0c;授课老师为刘知远老师。课程链接&#xff1a;https://www.xuetangx.com/training/NLP080910033761/1017121?channeli.area.manual_search。 持续更新中。 所有代码为作者所写&#xff0c;并非最后的“标准答案…

MyBatisPlus-注解的使用

注解 | MyBatis-PlusMyBatis-Plus 官方文档https://baomidou.com/pages/223848/#idtype因为在MyBatisPlus中都是通过实体类映射到数据库的字段中&#xff0c;所以处理好实体类与数据库表中字段的映射关系就很重要&#xff0c;MyBatisPlus提供的注解可以解决数据库中表名、字段名…

简道云教学 | 零代码应用开发软件助力应用型高校学生创新能力培养

“高校的数字化转型两大抓手&#xff0c;一个是学校管理系统的数字化建设&#xff0c;另一个是学生数字化素养的提升&#xff0c;简道云在我校信息化管理中的广泛应用是我们使用零代码平台进行创新能力培养的良好基础。” ————河南工学院 刘丹教授 河南工学院位于豫北工业名…

CSS初级教程(图例-链接-列表-表格)【第八天 完】

文章目录【1】CSS 图标【2】CSS 链接【3】CSS 列表【4】所有 CSS 列表属性【5】CSS 表格【6】CSS 所有表格属性CSS上回学习链接 CSS初级教程 颜色【第一天】 CSS初级教程 背景【第二天】 CSS初级教程 边框【第三天】 CSS初级教程 边距、高度、宽度【第四天】 CSS初级教程(轮廓…

使用批处理文件和mkvtoolnix批量修改默认音轨和音轨属性并重新混流

工具和版本 windows10 x64 MkvToolNix v73 待输出的Mkv格式文件&#xff0c;要求是同类型的文件&#xff0c;比如从迅雷下载下来同一来源的连续剧 步骤 一、添加文件 打开MkvToolNix GUI&#xff0c;添加输入文件&#xff0c;选中一个待输出的文件A 二、编辑音轨 选中音…

IOC底层实现原理介绍,手动实现IOC容器

面试官特别爱问SpringIOC底层实现&#xff0c;Spring源码晦涩难懂怎么办呢? 跟着老师手动实现一个mini ioc容器吧&#xff0c;实现后再回头看Spring源码事半功倍哦&#xff0c;就算直接和面试官讲也完全可以哦&#xff0c;类名完全按照源码设计&#xff0c;话不多说开干~!手动…

葡聚糖-叶酸;Dextran-FA;Dextran-Folicacid 结构式;科研试剂简介

名称&#xff1a;Dextran-Folicacid 中文名&#xff1a;叶酸修饰的葡聚糖 别称&#xff1a;葡聚糖-FA,葡聚糖-叶酸 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 外观: 固体或类白色絮状&#xff0c;取决于分子量 溶剂&#xff1a;溶于大部分有机溶剂&#…

HTAP 能够取代 OLAP 吗?

HTAP是什么 HTAP(Hybrid Transaction and Analytical Processing)数据库&#xff0c;也称混合型关系数据库&#xff0c;是能同时提供OLTP和OLAP的混合关系型数据库。在互联网浪潮出现之前&#xff0c;企业的数据量普遍不大&#xff0c;特别是核心的业务数据&#xff0c;通常一个…

【深入理解JVM】垃圾收集器内存分配策略

目录 gc root对象有哪些 oopMap 安全点&#xff08;safe point&#xff09; 安全区域 卡表 伪共享问题 三色标记法 垃圾收集器 CMS G1 gc root对象有哪些 虚拟机栈中引用的对象&#xff08;虚拟机栈中的引用的对象可以作为GC Root。我们程序在虚拟机的栈中执行&…

Redis安装及常用配置详解

一般redis安装于linux服务器&#xff0c;故本例介绍的是Linux下的安装一. Redis下载1. 官网下载tar包可以到​​ ​redis的官网​​​找到各个Redis版本的下载地址,如: https://redis.io/download/#redis-downloads&#xff0c;最新稳定版是7.0版2. 使用wget 下载redis在官网中…

无桥PFC的家族推演

1. 组合法构建无桥PFC PFC是一种AC-DC变换器&#xff0c;将交流输入电压分成正负半周&#xff0c;输出电压是直流&#xff0c;因此AC-DC变换器可以当做是两个DC-DC变换器的组合。在PFC的拓扑推演中&#xff0c;就是设计两个DC-DC变换器的工作模式。以下内容是基于对陈正格博士发…

流程编辑器bpmnjs的改造3:加一个审批人的设置

默认的设计器有代理人、候选用户和候选组&#xff0c;但是并不能满足实际的业务需求&#xff0c;我们需要对它进行改造&#xff0c;使得我们能够按照自定义的规则来生成用户任务节点的审批人。1、在bpmnjs里面加一个审批人的输入部件打开resources/properties-panel/provider/a…

MD5算法全解析

前言 这段时间刚好正在做软件安全的实验和课设&#xff0c;学习了各种加密算法&#xff0c;比如对称加密算法的DES,AES&#xff1b;非对称加密算法的RSA&#xff1b;再如今天要讲的主角-单向加密算法的MD5。为什么这么多算法&#xff0c;MD5成为了今天的猪脚呢&#xff1f;&am…

nexus raw 仓库代理(node-sass 内网下载问题)

问题背景 内网环境中使用 node 构建项目&#xff0c;项目中依赖了 node-sass&#xff0c;环境自动下载 node-saas 失败&#xff08;内网&#xff09;。 下面是构建 node-sass 的错误代码&#xff1a; [5/5] Building fresh packages... error /workspace/node_modules/node-…

FreeRTOS-消息队列详解

✅作者简介&#xff1a;嵌入式入坑者&#xff0c;与大家一起加油&#xff0c;希望文章能够帮助各位&#xff01;&#xff01;&#xff01;&#xff01; &#x1f4c3;个人主页&#xff1a;rivencode的个人主页 &#x1f525;系列专栏&#xff1a;玩转FreeRTOS &#x1f4ac;保持…

burpsuite安装HTTPS证书

burpsuite安装HTTPS证书1.Burpsuite介绍1.1.Burpsuite安装2.https证书介绍2.1.证书下载步骤2.1.1.打开burp软件2.1.2.开启代理2.1.3.下载证书2.1.4.证书2.2.证书安装步骤2.2.1.打开证书页2.2.2.导入证书2.2.3.确认安装2.3.抓包测试1.Burpsuite介绍 Burp Suite 是用于攻击web 应…

OpenStack 扩容cpu、内存

创建要扩容的实例类型&#xff0c;也就是flavor获取要扩容的server id根据命令 nova list获取刚才创建好的实例类型id根据命令 nova flavor-list执行扩容的命令nova resize <server-id> <flavor-id>举例&#xff1a;nova resize 06be1c3d-bcfb-4038-ae28-f8e7ac0a2…

【AI奇技淫巧】使用Optuna进行机器学习模型调参

使用Optuna进行机器学习模型调参Optuna简介框架特点安装方式举个例子高级配置搜索方式分支&#xff08;Branches&#xff09;与循环&#xff08;Loops&#xff09;分布式优化命令行界面用户定义属性将用户定义属性添加到Study将用户属性添加到Trial中对无望的Trial进行剪枝&…

大前端—回顾2022年明星项目,展望2023发展前沿

导读 | 2022年是艰难的一年&#xff0c;不仅有互联网的寒冬、还有新冠疫情的洗礼。但是似乎这一切都阻挡不了JavaScript的内卷&#xff0c;一年不长不短的时间中&#xff0c;JavaScript从创新、性能、功能等多维度深度进化&#xff0c;给前端带来了诸多惊喜。本文基于github上流…