Centos7部署Seata分布式事务系统并以nacos为配置中心

时间:2024-04-14 13:46:59

简介

Seata 是阿里巴巴开源的分布式事务中间件,一种分布式事务解决方案,具有高性能和易于使用的微服务架构

安装

下载安装包:https://github.com/seata/seata/releases

根据系统运行环境下载不同的压缩文件:

Mac/Linux下载seata-server-xxx.tar.gz;

Windows下载seata-server-xxx.zip

 通过工具(winSCP)将下载的的压缩包放到服务器指定目录下。

通过命令(tar -xvf )解压压缩包:

Centos7部署Seata分布式事务系统并以nacos为配置中心

解压后会生成一个 seata目录,进入可以看到如下目录

Centos7部署Seata分布式事务系统并以nacos为配置中心

然后进入 conf 目录

 Centos7部署Seata分布式事务系统并以nacos为配置中心

 修改 registry.config文件:

将type 改为 nacos ,并配置nacos地址。

 如下:

registry {
  type = "nacos"
  nacos {
    serverAddr = "111.231.111.150:8848"
    namespace = "public"
    cluster = "default"
  }
}
config {
  type = "nacos"
  nacos {
    serverAddr = "111.231.111.150:8848"
    namespace = "public"
  }
}

修改 nacos-config.txt 文件:

修改store.mode 存储模式 为 db,默认file;

修改数据库链接信息:store.db.url、store.db.user、store.db.password;

其他默认即可。

如下: 

transport.type=TCP
transport.server=NIO
transport.heartbeat=true
transport.thread-factory.boss-thread-prefix=NettyBoss
transport.thread-factory.worker-thread-prefix=NettyServerNIOWorker
transport.thread-factory.server-executor-thread-prefix=NettyServerBizHandler
transport.thread-factory.share-boss-worker=false
transport.thread-factory.client-selector-thread-prefix=NettyClientSelector
transport.thread-factory.client-selector-thread-size=1
transport.thread-factory.client-worker-thread-prefix=NettyClientWorkerThread
transport.thread-factory.boss-thread-size=1
transport.thread-factory.worker-thread-size=8
transport.shutdown.wait=3
service.vgroup_mapping.my_test_tx_group=default
service.enableDegrade=false
service.disable=false
service.max.commit.retry.timeout=-1
service.max.rollback.retry.timeout=-1
client.async.commit.buffer.limit=10000
client.lock.retry.internal=10
client.lock.retry.times=30
client.lock.retry.policy.branch-rollback-on-conflict=true
client.table.meta.check.enable=true
client.report.retry.count=5
client.tm.commit.retry.count=1
client.tm.rollback.retry.count=1
store.mode=db
store.file.dir=file_store/data
store.file.max-branch-session-size=16384
store.file.max-global-session-size=512
store.file.file-write-buffer-cache-size=16384
store.file.flush-disk-mode=async
store.file.session.reload.read_size=100
store.db.datasource=dbcp
store.db.db-type=mysql
store.db.driver-class-name=com.mysql.jdbc.Driver
store.db.url=jdbc:mysql://111.231.111.150:3306/seata?useUnicode=true
store.db.user=root
store.db.password=gourd123
store.db.min-conn=1
store.db.max-conn=3
store.db.global.table=global_table
store.db.branch.table=branch_table
store.db.query-limit=100
store.db.lock-table=lock_table
recovery.committing-retry-period=1000
recovery.asyn-committing-retry-period=1000
recovery.rollbacking-retry-period=1000
recovery.timeout-retry-period=1000
transaction.undo.data.validation=true
transaction.undo.log.serialization=jackson
transaction.undo.log.save.days=7
transaction.undo.log.delete.period=86400000
transaction.undo.log.table=undo_log
transport.serialization=seata
transport.compressor=none
metrics.enabled=false
metrics.registry-type=compact
metrics.exporter-list=prometheus
metrics.exporter-prometheus-port=9898
support.spring.datasource.autoproxy=false

将 Seata 配置添加到 Nacos 中

运行命令: sh nacos-config.sh localhost

Centos7部署Seata分布式事务系统并以nacos为配置中心

运行成功后,查看nacos 配置列表, 会有一些Group 为SEATA_GROUP的配置。

Centos7部署Seata分布式事务系统并以nacos为配置中心

 启动 Seata Server

运行命令:nohup sh seata-server.sh -p 8091 &> seata.log &

查看Nacos 服务列表:

Centos7部署Seata分布式事务系统并以nacos为配置中心

查看数据库表生成情况:

Centos7部署Seata分布式事务系统并以nacos为配置中心

至此,Seata安装结束。

结语

本文是最近学习和搭建seata过程的一些总结和记录,如有不对的地方,欢迎评论吐槽。