SpringCloud Alibaba Seata配置到Nacos

news2025/3/26 20:52:34

SpringCloud Alibaba Seata

1 Seata 简介

  • 单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用 三个独立的数据源
  • 业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保 证
  • 但是全局的数据—致性问题没法保证
  • 简单的说: 一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用,就会产 生分布式事务问题=》seata

分布式微服务架构下的全局数据一致性问题 [即: 分布式事务问题]

一句话: Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务

2 Seata Server 案安装

第一步、将 seata-server-0.9.0.zip 解压到 指定目录 ,修改 conf\file.conf文件

vgroup_mapping.my_test_tx_group = "xjz_order_tx_group"
mode = "db"
url = "jdbc:mysql://127.0.0.1:3308/seata" #5.7的端口我自己配的3308、默认3306
user = "root
password = "xjz"

第二步、在mysql5.7 创建 seata数据库

CREATE DATABASE seata
USE seat
-- 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`)
);

第三步、修改 seata 的 \conf\registry.conf 配置注册中心 nacos server

registry {
    # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
    # type = "file"
    type = "nacos" 
    nacos {
        #serverAddr = "localhost"
        serverAddr = "localhost:8848"  #nacos端口号:8848
        namespace = "" 
        cluster = "default"
}

第四步、启动 seata–> bin-- > seata-server.bat

启动前切记打开 nacos server,否则启动自动闪退!

image-20230606193143162

第五步、登录 Nacos Server,查看 Seata Server 是否注册成功

image-20230606193240782

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

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

相关文章

H5嵌入原生开发小结----兼容安卓与ios的填坑之路

一开始听说开发H5,以为就是做适配现代浏览器的移动网页,心想不用管IE了,欧也。到今天,发现当初too young too simple,兼容IE和兼容安卓与IOS,后者让你更抓狂。接下来数一下踩过的坑。主要分UI展示&#xff…

如何借助AI,产品文案语音配图片一键生成视频

const name "AI生成视频";console.log(name); 以前我们做视频都是要找素材、剪辑、配音,太费时间了😩,现在只需要通过AI,输入文字,它就能自动帮我们生成一段有声有色的视频。 我们来看看文本生成的视频效…

案例35:基于Springboot图书商城管理系统开题报告设计

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

面向流媒体的确定时延传输:从QUIC出发,走向未来

QUIC(Quick UDP Internet Connections)是Google设计的一套可靠UDP传输协议,旨在为HTTP提供一个安全、可靠、高效和低延时的通信基础。QUIC协议已被IETF采纳为标准,并且HTTP/3已选择使用QUIC来代替TCP作为其传输层协议。LiveVideoS…

python怎么退出执行/退出程序语句

python怎么退出执行/退出程序语句 文章目录 python怎么退出执行/退出程序语句sys.exit()函数 raise SystemExit()异常os._exit()函数CtrlC中断程序执行具体情况具体处理参考资料 在Python中,退出执行是一个常见的操作。退出方法介绍: sys.exit()函数 sy…

最近几年,国内好多家实体企业都开始用上低代码了,它有什么好?

前言: 裹挟大数据、云计算、人工智能等数字技术的第四次工业革命浪潮正加速来袭,全球经济已行至历史的十字路口。 站上技术浪潮潮头者澎湃生长,错过技术浪潮者黯然败退。那么,对于中国的普通制造企业来说,如何抓住向…

【媒体广告】的现状与未来发展趋势!

媒体广告是一种重要的市场推广手段,随着技术的不断发展和市场环境的变化,媒体广告也在不断地演变和发展。本文将从以下几个方面探讨媒体广告的发展趋势。 一、数字化、数据化和智能化趋势 随着互联网和移动互联网技术的发展,数字化、数据化…

2.1 初探MyBatis实现简单查询

一、创建数据库与表 1、创建数据库 在Navicat里创建MySQL数据库 - testdb,采用utf8mb4字符集 2、创建用户表 用户表 - t_user CREATE TABLE t_user (id int(11) NOT NULL AUTO_INCREMENT,name varchar(50) DEFAULT NULL,age int(11) DEFAULT NULL,address var…

LLM-Pruner: 剪枝+少量数据+少量训练 = 高效的LLM压缩

概要 大语言模型(LLMs, Large Language Models)在各种任务上展现出了惊人的能力,这些能力很大程度上来自于模型庞大的模型规模以及海量的训练语料。为了应对这些模型部署上存在的挑战,许多研究者开始关注大语言模型的轻量化问题。…

华为认证 | HCIE-存储 V3.0 即将发布!

华为认证HCIE-Storage V3.0(中文版)预计将于2023年6月30日正式对外发布。为了帮助您做好学习、培训和考试计划,现进行预发布通知,请您关注。 01 发布概述 基于“平台生态”战略,围绕“云-管-端”协同的新ICT技术架构&…

5周年更新 | OpenVINO™  2023.0,让AI部署和加速更容易

时光匆匆,岁月荏苒,OpenVINO™迎来了5岁生日。5岁,对于OpenVINO™来说还是个很年轻的年纪,一如正在茁壮成长的少年,每天都迸发着无穷的生命力。 在这5年里,OpenVINO™密切关注市场需求,着眼未来…

JavaScript拖动元素在一个范围内移动

基于 jQuery移动范围由 div 搭建(div 模仿表格),卡片的移动不允许超出该范围移动卡片会有一个淡蓝色卡片的标记出将要放置的位置有禁止放置标记的位置,不允许卡片放置(会放到前一个可放置的位置)卡片放置会覆盖单元格中的文字卡片…

TSS半导体放电管八大属性总结

​之前在写关于GDT放电管与TSS放电管之间的差异时,其实有谈到TSS(固体放电管)它拥有的一些特性,今天优恩小编还是想重复一下,希望更多小伙伴能够记住。 TSS,有人叫它固体放电管、也有人叫它半导体放电管&am…

智能交通车路协同系统的应用场景和发展趋势

随着城市化进程的加速和汽车保有量的增加,城市交通拥堵、交通事故等问题日益突出。为了解决这些问题,智能交通车路协同系统应运而生。智能交通车路协同系统是一种基于车载终端、路侧设备和交通管理中心等多个组成部分构成的智能交通系统,可以…

io之netty

写在前面 netty当前是网络io框架的事实标准,基于nio实现,框架的作者是韩国一位姓李的朋友,开始我们这位行李的韩国朋友开发一个io框架mina,但后来其离职,mina也就和其没有关系了,所以后来其改进了mina的不…

Maxcompute数据上云一致性比对

我写过很多如何去对数、如何批量对数的技术文档,最近项目遇到这个问题,我才发现在官方博客上还没有发布过这个课题的文章。这就像灯下黑,太长用到的知识点,反而没有意识到其重要性。 注:这里对数的场景就是指在阿里云…

docker 装机/卸载 Mysql

1、首先,需要安装Docker。可以使用以下命令安装: > yum install docker 2、安装完成后,启动Docker服务: > systemctl start docker3、CentOS7环境下的Docker使用 docker快速部署mysql数据库并初始化 docker快速部署mysq…

Power BI API调用注意事项 (By Power Automate)

注:本文最初发布于https://d-bi.gitee.io和medium, 2023年6月迁移至CSDN 前述 本站关于实现Power BI REST API的博文已有许多,包括: Power BI REST API有多强大?PBI开发者必读Power BI REST API实战教程:PowerQuery为…

基于SSM的便利店系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 基于SSH的便利店系统是…

Java中方法的重载与重写

文章目录 前言方法重载方法重写 前言 提示:这里可以添加本文要记录的大概内容: 方法的重载与重写容易混,所以单独拿出来比较 提示:以下是本篇文章正文内容,下面案例可供参考 方法重载 在同一个类中,允…