Seata环境搭建

1、Seata下载:

  • 1.下载·地址
    在这里插入图片描述
  • 2.下载的版本
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2、Seata参数配置参考:

  • 各种seata参数官网参考

3、Seata安装部署:

3.1.Seata新手部署指南:

在这里插入图片描述


3.2.在mysql8.0数据库里面建库+建表

a.建数据库:

create database seata;
use seata;

b.建表:

  • 1.建表地址
CREATE TABLE IF NOT EXISTS `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_status_gmt_modified` (`status` , `gmt_modified`),KEY `idx_transaction_id` (`transaction_id`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;-- the table to store BranchSession data
CREATE TABLE IF NOT EXISTS `branch_table`
(`branch_id`         BIGINT       NOT NULL,`xid`               VARCHAR(128) NOT NULL,`transaction_id`    BIGINT,`resource_group_id` VARCHAR(32),`resource_id`       VARCHAR(256),`branch_type`       VARCHAR(8),`status`            TINYINT,`client_id`         VARCHAR(64),`application_data`  VARCHAR(2000),`gmt_create`        DATETIME(6),`gmt_modified`      DATETIME(6),PRIMARY KEY (`branch_id`),KEY `idx_xid` (`xid`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;-- the table to store lock data
CREATE TABLE IF NOT EXISTS `lock_table`
(`row_key`        VARCHAR(128) NOT NULL,`xid`            VARCHAR(128),`transaction_id` BIGINT,`branch_id`      BIGINT       NOT NULL,`resource_id`    VARCHAR(256),`table_name`     VARCHAR(32),`pk`             VARCHAR(36),`status`         TINYINT      NOT NULL DEFAULT '0' COMMENT '0:locked ,1:rollbacking',`gmt_create`     DATETIME,`gmt_modified`   DATETIME,PRIMARY KEY (`row_key`),KEY `idx_status` (`status`),KEY `idx_branch_id` (`branch_id`),KEY `idx_xid` (`xid`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;CREATE TABLE IF NOT EXISTS `distributed_lock`
(`lock_key`       CHAR(20) NOT NULL,`lock_value`     VARCHAR(20) NOT NULL,`expire`         BIGINT,primary key (`lock_key`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0);
  • 2.建表后的结果:
    在这里插入图片描述

c.更改Seata的配置文件:

  • 1.修改seata-server-2.0.0\conf\application.yml配置文件,修改之前先备份一份
    在这里插入图片描述
    在这里插入图片描述
  • 2.更改后的yml文件:
server:port: 7091
spring:application:name: seata-server
logging:config: classpath:logback-spring.xmlfile:path: ${log.home:${user.home}/logs/seata}extend:logstash-appender:destination: 127.0.0.1:4560kafka-appender:bootstrap-servers: 127.0.0.1:9092topic: logback_to_logstash
console:user:username: seatapassword: seata
seata:config:type: nacosnacos:server-addr: 127.0.0.1:8848namespace:group: SEATA_GROUP #后续自己在nacos里面新建,不想新建SEATA_GROUP,就写DEFAULT_GROUPusername: nacospassword: nacosregistry:type: nacosnacos:application: seata-serverserver-addr: 127.0.0.1:8848group: SEATA_GROUP #后续自己在nacos里面新建,不想新建SEATA_GROUP,就写DEFAULT_GROUPnamespace:cluster: defaultusername: nacospassword: nacos    store:mode: dbdb:datasource: druiddb-type: mysqldriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/seata?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=trueuser: rootpassword: rootmin-conn: 10max-conn: 100global-table: global_tablebranch-table: branch_tablelock-table: lock_tabledistributed-lock-table: distributed_lockquery-limit: 1000max-wait: 5000#  server:#    service-port: 8091 #If not configured, the default is '${server.port} + 1000'security:secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017tokenValidityInMilliseconds: 1800000ignore:urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.jpeg,/**/*.ico,/api/v1/auth/login,/metadata/v1/**
  • 3.如下可知,Seata也是作为一种微服务注册到注册中心

在这里插入图片描述

  • 4.如下可知Seata应该有一个web管理页面:

在这里插入图片描述

d.先启动nacos2.2.3端口8848:

  • 1.启动命令:startup.cmd -m standalone
  • 2.启动后访问:http://localhost:8848/nacos

e.再启动seata-servewr-2.0.0:

  • 1.去/bin目录下双击seata-server.bat,然后查看http://localhost:7091

在这里插入图片描述

  • 2.然后看一下nacos上的服务:

在这里插入图片描述


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

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

相关文章

PVN3D(一)代码框架

在windows上配置pvn3d的环境一直配不成功,主要卡在了与C联合编译上,不知道如何处理了。索性先看看代码,竟然发现与论文中的代码对应上了。希望这一段时间把环境配置好。 1.论文中的网络结构 1.RGB图像特征,通过CNN提取特征。深度…

【排序算法】快速排序升级版--三路快排详解 + 实现(c语言)

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:算法 目录​​​​​​​ 前言 一、三路快排的整体思路 二、三路快排的具体实现 1.测试数据、交换函数和三数取中法 2.三路快排函数 三、程序全部代码 总…

无线麦克风推荐哪些品牌,无线麦克风哪个品牌好,好的麦克风推荐

在声音创作与直播的领域里,无线领夹麦克风作为捕捉清晰声音的第一道防线,其重要性不言而喻。传统的有线麦克风及部分无线产品,难以在移动场景下提供稳定、清晰的录音效果;劣质无线领夹麦克风往往音质不稳定,甚至可能在…

富格林:有效隔绝虚假提高出金

富格林指出,现货黄金是一个复杂的市场,虚假交易屡见不鲜。如果在投资过程中遇到虚假现象,一定要严格对待,保障交易的顺利进行以及顺利出金。此外投资者需要总结高效的出金交易策略来应对。以下是富格林给出的几点建议,…

数据库太慢跑崩的一大罪魁

就是非常不起眼的帐号去重计数,用 SQL 写就是 COUNT(DISTINCT …)。 帐号去重计数在商业分析中很常见也有重要的业务意义。这里的帐号可能是用户 ID、银行帐户、手机号、车牌号、…。计算逻辑基本一样,就是从某个时段的历史数据中统计出有多少个帐号满足…

缓存解决方案。Redis 和 Amazon ElastiCache 比较

欢迎来到雲闪世界。Redis 和 Amazon ElastiCache 等缓存解决方案是通过将频繁访问的数据存储在内存中来提高应用程序性能的热门选择。让我们从实施简单性、性能、成本和维护方面对它们进行比较。 实施简单 设置 Redis 需要在基础设施或云实例上安装和配置 Redis 服务器。它可…

解决 Android 上的 .NET MAUI/Xamarin.AndroidX 应用调用 ASP.NET Core API 端点时 SSL 连接被拒绝的问题

从虚拟机调用本地API报各种 SSL 连接不上的错误,这给本地调试造成了极大的不便,在被这个问题困扰了多日以后,终于在GitHub上找到答案 基于这个 帖子 ,有一个回复 他写了一个帮助类,专门用来调试本地的API,…

常见的图纸加密软件方式:推荐10个最好用的图纸加密软件

在当今竞争激烈的商业环境中,保护设计图纸等敏感信息已成为企业不可忽视的任务。图纸加密软件作为一项重要的信息安全措施,不仅能够防止未经授权的访问,还能确保设计工作的机密性和完整性。面对市场上琳琅满目的加密软件,选择一款…

django models字段类型和参数的选择

1. CharField 解释: 用于存储短文本,如用户名、标题等。参数: max_length: 必需参数,指定最大长度。null: 是否允许数据库存储 NULL 值,默认为 False。blank: 是否允许表单提交空值,默认为 False。default: 字段的默认值。choice…

变压器结构

变压器结构提供磁路,通常称为“变压器铁芯”,旨在为磁场提供流动路径。该磁路对于两个输入和输出绕组之间感应电压必不可少。 然而,这种变压器结构(两个绕组缠绕在不同的支路上)效率不高,因为初级绕组和次…

Unity3D中控制3D场景中游戏对象显示层级的详解

前言 在Unity3D开发中,控制游戏对象的显示层级(也称为渲染顺序或渲染层级)是一个常见的需求,特别是在处理复杂的3D场景时,如角色、道具、UI元素等的可见性和渲染顺序的管理变得尤为重要。Unity通过几种不同的机制来实…

Nacos配置的优先级

配置文件优先级和覆盖规则 1. 配置文件的优先级 在多个配置文件中,如果存在相同的配置项,通常有一个优先级规则来决定最终使用哪个配置值。具体规则取决于系统的设计和实现,但通常遵循以下原则: 更具体的配置覆盖更通用的配置&…

Secret

Secret 在 Kubernetes 中,Secret 是一种用于存储敏感信息的资源,比如密码、OAuth 令牌、SSH 密钥等。Secret 允许你以安全的方式将这些信息传递给 Pod,而不是硬编码在镜像或配置文件中。 配置管理中心:configMap、Secret Secre…

深度学习从入门到精通——yolov1

YOLOV1 速度快,能够达到实时的要求。在 Titan X 的 GPU 上 能够达到 45 帧每秒。 使用全图作为 Context 信息,背景错误(把背景错认为物体)比较少。 泛化能力强。 YOLO的核心思想就是利用整张图作为网络的输入,直接在…

Agent AI智能体的未来:角色、发展路径及挑战

引言 人工智能技术的迅猛发展正在深刻改变我们的生活和社会结构。其中,Agent AI智能体作为人工智能领域的一个重要分支,因其高度的自主性和适应性而备受关注。Agent AI智能体不仅可以执行复杂的任务,还能根据环境变化自我调整策略&#xff0…

数据库和MySQL

ER图 实体(矩形):通常是现实世界的业务对象,当然使用一些逻辑对象也可以。 属性(椭圆):实体拥有的属性。 联系(菱形):实体与实体之间的关系。 函数依赖 函数依…

【JVM】Java内存分配与回收:深入理解Java内存管理

Java内存分配与回收:深入理解Java内存管理 引言 Java虚拟机(JVM)的内存管理是确保Java应用程序性能和稳定性的关键。理解Java的内存分配方式和回收过程对于开发者来说至关重要。 基础知识 JVM内存模型:JVM内存分为堆&#xff…

(11)(1.1) 有刷电机

文章目录 前言 1 经过验证的电机驱动器 2 连接和配置 3 参数说明 前言 ArduPilot 支持多种控制有刷电机的方法。 支持 RC PWM 输入(宽度为 1ms 至 2ms 的 PWM 信号)的有刷电机 ESC 最容易使用,因为不需要特殊配置,本文档的其…

使用python+opencv解析图像和文本数据

1. 创建虚拟环境 新建文件夹, 并在文件夹中创建虚拟环境,可以使用Vscode打开文件夹, 然后在终端中输入以下命令: python -m venv venv2. 激活虚拟环境 在终端中输入以下命令: venv\Scripts\activate3. 安装依赖 在终端中输入以下命令: pip install opencv-pythonpip inst…

5.程序转换语意学

目录 1.显示的初始化操作 2.参数的初始化 3.返回值的初始化 4.在使用者层面做优化 5.Copy Constructor要不要? 1.显示的初始化操作 已知有这样的定义: X x0; 下面的三个定义,每一个都明显地以x0来初始化其class object; …