Spring Cloud Alibaba 容器化部署最佳实践 | 本地部署版本 | Seata服务端组件安装

news2024/11/25 2:56:33

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

下载地址

https://github.com/seata/seata/releases

Seata安装-修改配置文件

下载编译好的文件压缩包以后,主要修改Conf文件夹中的配置文件,使用Nacos服务注册以及配置管理。看要修改的注释

seata:
  config:
    # support: nacos, consul, apollo, zk, etcd3
    type: nacos #修改成nacos配置管理
    nacos:
      server-addr: 127.0.0.1:8848
      namespace: 6f64d848-9358-4630-baf4-0d315b8b8ed1 #命名空间这里填写nacos生成的id
      group: SEATA_GROUP #设一个组
      username: nacos #nacos用户名
      password: nacos #nacos密码
      data-id: seataServer.properties #nacos新建的配置文件的data-id
  registry:
    # support: nacos, eureka, redis, zk, consul, etcd3, sofa
    type: nacos
    preferred-networks: 192.168.* #允许注册的IP地址头
    nacos:
      application: seata-server
      server-addr: 127.0.0.1:8848
      group: SEATA_GROUP #注册组
      namespace: 6f64d848-9358-4630-baf4-0d315b8b8ed1 #命名空间这里填写nacos生成的id
      cluster: default
      username: nacos #nacos用户名
      password: nacos #nacos密码

配置文件也可按application.example.yml实例中的配置设置,注意不要用tab替代4个空格

配置Nacos服务

可查看Spring Cloud Alibaba 容器化部署最佳实践 | 本地部署版本 | Nacos组件安装 安装Nacos。

创建seata配置

在Nacos新建命名空间。
在这里插入图片描述
新建配置
在这里插入图片描述
在这里插入图片描述
不管其他提示直接发布

配置文件填下面填的是如下内容,主要修改MySQL的配置项

#For details about configuration items, see https://seata.io/zh-cn/docs/user/configurations.html
#Transport configuration, for client and server
transport.type=TCP
transport.server=NIO
transport.heartbeat=true
transport.enableTmClientBatchSendRequest=false
transport.enableRmClientBatchSendRequest=true
transport.enableTcServerBatchSendResponse=false
transport.rpcRmRequestTimeout=30000
transport.rpcTmRequestTimeout=30000
transport.rpcTcRequestTimeout=30000
transport.threadFactory.bossThreadPrefix=NettyBoss
transport.threadFactory.workerThreadPrefix=NettyServerNIOWorker
transport.threadFactory.serverExecutorThreadPrefix=NettyServerBizHandler
transport.threadFactory.shareBossWorker=false
transport.threadFactory.clientSelectorThreadPrefix=NettyClientSelector
transport.threadFactory.clientSelectorThreadSize=1
transport.threadFactory.clientWorkerThreadPrefix=NettyClientWorkerThread
transport.threadFactory.bossThreadSize=1
transport.threadFactory.workerThreadSize=default
transport.shutdown.wait=3
transport.serialization=seata
transport.compressor=none
 
#Transaction routing rules configuration, only for the client
service.vgroupMapping.default_tx_group=default
#If you use a registry, you can ignore it
service.default.grouplist=127.0.0.1:8091
service.enableDegrade=false
service.disableGlobalTransaction=false
 
#Transaction rule configuration, only for the client
client.rm.asyncCommitBufferLimit=10000
client.rm.lock.retryInterval=10
client.rm.lock.retryTimes=30
client.rm.lock.retryPolicyBranchRollbackOnConflict=true
client.rm.reportRetryCount=5
client.rm.tableMetaCheckEnable=true
client.rm.tableMetaCheckerInterval=60000
client.rm.sqlParserType=druid
client.rm.reportSuccessEnable=false
client.rm.sagaBranchRegisterEnable=false
client.rm.sagaJsonParser=fastjson
client.rm.tccActionInterceptorOrder=-2147482648
client.tm.commitRetryCount=5
client.tm.rollbackRetryCount=5
client.tm.defaultGlobalTransactionTimeout=60000
client.tm.degradeCheck=false
client.tm.degradeCheckAllowTimes=10
client.tm.degradeCheckPeriod=2000
client.tm.interceptorOrder=-2147482648
client.undo.dataValidation=true
client.undo.logSerialization=jackson
client.undo.onlyCareUpdateColumns=true
server.undo.logSaveDays=7
server.undo.logDeletePeriod=86400000
client.undo.logTable=undo_log
client.undo.compress.enable=true
client.undo.compress.type=zip
client.undo.compress.threshold=64k
#For TCC transaction mode
tcc.fence.logTableName=tcc_fence_log
tcc.fence.cleanPeriod=1h
 
#Log rule configuration, for client and server
log.exceptionRate=100
 
#Transaction storage configuration, only for the server. The file, db, and redis configuration values are optional.
store.mode=file
store.lock.mode=file
store.session.mode=file
#Used for password encryption
store.publicKey=
 
#If `store.mode,store.lock.mode,store.session.mode` are not equal to `file`, you can remove the configuration block.
store.file.dir=file_store/data
store.file.maxBranchSessionSize=16384
store.file.maxGlobalSessionSize=512
store.file.fileWriteBufferCacheSize=16384
store.file.flushDiskMode=async
store.file.sessionReloadReadSize=100
 
#These configurations are required if the `store mode` is `db`. If `store.mode,store.lock.mode,store.session.mode` are not equal to `db`, you can remove the configuration block.
store.db.datasource=druid
#修改
store.db.dbType=mysql
store.db.driverClassName=com.mysql.jdbc.Driver
store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true&rewriteBatchedStatements=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.distributedLockTable=distributed_lock
store.db.queryLimit=100
store.db.lockTable=lock_table
store.db.maxWait=5000
 
#These configurations are required if the `store mode` is `redis`. If `store.mode,store.lock.mode,store.session.mode` are not equal to `redis`, you can remove the configuration block.
store.redis.mode=single
store.redis.single.host=127.0.0.1
store.redis.single.port=6379
store.redis.sentinel.masterName=
store.redis.sentinel.sentinelHosts=
store.redis.maxConn=10
store.redis.minConn=1
store.redis.maxTotal=100
store.redis.database=0
store.redis.password=
store.redis.queryLimit=100
 
#Transaction rule configuration, only for the server
server.recovery.committingRetryPeriod=1000
server.recovery.asynCommittingRetryPeriod=1000
server.recovery.rollbackingRetryPeriod=1000
server.recovery.timeoutRetryPeriod=1000
server.maxCommitRetryTimeout=-1
server.maxRollbackRetryTimeout=-1
server.rollbackRetryTimeoutUnlockEnable=false
server.distributedLockExpireTime=10000
server.xaerNotaRetryTimeout=60000
server.session.branchAsyncQueueSize=5000
server.session.enableBranchAsyncRemove=false
server.enableParallelRequestHandle=false
 
#Metrics configuration, only for the server
metrics.enabled=false
metrics.registryType=compact
metrics.exporterList=prometheus
metrics.exporterPrometheusPort=9898

安装数据库

把seata-server-1.5.2\seata\script\server\db文件夹中的MySQL数据库文件导入seata数据库中。注意是utf8mb4模式
在这里插入图片描述

启动Seata服务

window下运行seata-server.bat文件或者使用如下快捷脚本,修改成自己的路径

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /k d:&cd seata-server-1.5.2\seata\bin&seata-server.bat"

在这里插入图片描述
显示如下内容即表示配置成功。

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

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

相关文章

PyQt5 信号(Signal)与槽(Slot)

PyQt5 信号与槽信号与槽介绍内置信号与槽的使用自定义信号与槽的使用自定义信号和内置槽函数自定义信号和自定义槽函数自定义有参信号使用自定义信号参数装饰器信号与槽信号与槽的断开和连接多线程中信号与槽的使用信号与槽介绍 信号(Signal)与槽(Slot)是Qt中的核心机制&#…

基于Spring Boot的个人博客系统(源码+数据库)

目录 一、系统功能框架图 二、开发技术 三、开发环境 四、页面展示 1.登录页面 2.首页 3.文章详情页面 4.文章评论页面 ​5.后台页面 6.后台文件编辑页面 ​7.后台文章管理列表页面 五、文件组织结构 六、数据库设计 1. 文章详情表t_article 2.文章评论表t_comm…

Elasticsearch:构建地图以按国家或地区比较指标

标如果你不熟悉 Elastic 地图,本教程是一个不错的起点。 它会指导你完成处理位置数据的常见步骤。在完成本教程后,你将学会: 创建具有多个图层和数据源的地图使用符号、颜色和标签来设置数据值的样式在仪表板中嵌入地图在仪表板中跨仪表盘搜索 完成本教…

【Scala专栏】数据类型、变量常量、类和对象

本文内容主要分为3节,依次讲解:Scala的数据类型有哪些? 变量常量如何使用? 类和对象如何理解? 受限于博主的大脑容量,大概是无法做到事无巨细的,不过其实也没必要那么"细"&#xff0c…

Java核心技术卷Ⅰ-第三章Java的基本程序设计结构

重点 1.数据类型 2.运算符 3.字符串 4.控制流程 5.数组 1.数据类型 整型:Java程序必须保证在所有机器上都能得到相同的运行结果,所以各种数据类型的取值范围是固定的;在C/C中,int和long类型的大小与目标平台相关 类型存储需求取值…

基于粒子群算法的线性规划问题求解matlab程序

基于粒子群算法的线性规划问题求解matlab程序 1 基本粒子群算法流程 粒子群算法基于“种群”和“进化”的概念,通过个体间的协作与竞争,实现复杂空间最优解的搜索,其流程如下: (1)初始化粒子群&#xff…

Apache Maven

Apache Maven简介安装Eclipse中安装内置的Maven插件Maven官网下载,直接安装在电脑上Maven安装目录结构bin目录boot目录conf目录lib目录Maven生命周期与命令Maven生命周期clean:清理cleanup:清理所有default:默认site:站…

做数据集增强时,训练一半出现IndexError: tuple index out of range这种错误,不知道怎么改,有神仙赐教一下嘛?

在用YOLOv5做图像训练时,首先做了数据集的增强,但是增强中出现了如下的错误 首先出现这样的警告 (A:/stdy py37-g/agu_img.py:153: DeprecationWarning: An exception was ignored while fetching the attribute __array_interface__ from an object of …

maven部署方案之分离业务包

一、思想: 通过将业务包和公共包分离,集中管理所有包,打包时只构建业务包减少项目包的大小和传输时间。 为了观测稳定性,暂通过环境区分,较为频繁的联调环境采用该方式,测试、预发、正式暂保持一体化打包…

golang实现andflow流程引擎

1、andflow引擎 andflow_js可以实现在Html端设计流程,并将设计结果保存为json模型,andflow可以用于设计业务流程、数据处理流程、工作流、控制流等一切可流程化的过程。 由于golang具备高效、跨平台、并且还能够直接编译成可执行文件,这些优…

selenium 找不到元素:Unable to find element on closed window

浏览器:IE 报错信息: Unable to find element on closed window Unable to get browser 过程:登录》跳转页面(同窗口)》点击备份按钮 已知代码没有改过,而且部署到多个机子上,很多机子没有问…

C++11(一)

🧸🧸🧸各位大佬大家好,我是猪皮兄弟🧸🧸🧸 文章目录一、列表初始化initializer_list二、声明1.auto2.decltype3.nullptr三、C11 STL中的变化1.array2.forward_list3.STL其他变化四、C关键字新功…

NOIP 装箱问题

题目:[NOIP2001]装箱问题 ,哈哈,我们今天来看一道很古老的题嘛,这是选自NOIP上的一道题,好了,我们一起来看看题意吧: 考虑到直接复制题目,或者截屏的方式不是很方便阅读&#xff0…

常见的网络协议

目录 一、TCP/IP协议簇 二、网络设备与五层模型对应关系: 三、常用网络协议总结(TCP/IP协议簇) 四、应用层服务协议 五、传输层协议组 TCP_UDP 六、网络层协议 IP_ICMP_ARP 七、物理层协议 MAC子层协议 一、TCP/IP协议簇 OSI七层模型…

视频怎么转换为音频文件?快来掌握这几种方式

大家平时在下载网课资源进行学习的时候,看久了眼睛也会开始疲劳,而且有些视频的画面看起来很枯燥。其实我们可以使用一些软件把视频中的音频分离出来,直接收听音频也可以学到知识,而且我们还可以处理其他的事情,是不是…

《计算机体系结构量化研究方法第六版》1.5 集成电路中的功耗和能耗趋势

1.5.1 功耗和能耗:系统视角 Q1:处理器需要的最大功耗是多少? 如果处理器的预期功耗大于电源系统能够提供的功耗(试图汲取的电流大于电源系统可以提供的电流),通常会导致电压下降而让器件无法工作。在峰值…

食谱类小程序开发,升级美食服务质量

网络时代,人们可以在网上快速获取到各种资源信息,疫情的影响让人们被封控在家里出不了门,这也就给人们提供了一个回归厨房的契机,很多人在此期间开启了自己的美食制作之旅,朋友圈也变成了一个美食分享社区,…

AlphaFold2源码解析(1)--安装使用

AlphaFold2源码解析(1)–安装使用 AlphaFold2有两种安装方式: 具体可以参考我之前写的博客: Alphafold docker 安装: 参考GitHub:https://github.com/deepmind/alphafold 一步一步安装就可以了, Alphafold 非docker 安装指南 如…

基于PHP+MySQL蚕豆酱厂管理系统的设计与实现

论文阐述了安庆市胡玉美蚕豆酱厂管理系统的设计与实现,并对该系统的需求分析及系统需要实现的设计方法作了介绍。该系统的基本功能包括用户登录,管理员信息管理,车间主任信息管理,采购员信息管理,生产计划管理&#xf…

【正点原子FPGA连载】 第十七章 HDMI彩条显示实验摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十七章 HDMI彩…