分布式事务框架seata一(seata服务端)

目录

Server端安装:

下载安装包和部署脚本

修改配置文件

修改file.conf

修改registry.conf 

向nacos中心写入配置

启动 

 service.vgroupMapping.


本系列文章基于(seata1.3.0版本)。

 

seata官方地址:http://seata.io/zh-cn/index.html

seata官方文档地址:http://seata.io/zh-cn/docs/overview/what-is-seata.html

安装包下载地址:http://seata.io/zh-cn/blog/download.html

github地址:https://github.com/seata/seata

官方部署指南:http://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html

部署所需脚本:https://github.com/seata/seata/tree/1.3.0/script

 

Seata分TC、TM和RM三个角色,TC(Server端)为单独服务端部署,TM和RM(Client端)由业务系统集成。

 

Server端安装:

下载安装包和部署脚本

第一步先下载安装包和部署所需脚本,脚本分三个部分:

下载后的安装包内有readme文件:

# 脚本说明

## [client](https://github.com/seata/seata/tree/develop/script/client) 

> 存放用于客户端的配置和SQL

- at: AT模式下的 `undo_log` 建表语句
- conf: 客户端的配置文件
- saga: SAGA 模式下所需表的建表语句
- spring: SpringBoot 应用支持的配置文件

## [server](https://github.com/seata/seata/tree/develop/script/server)

> 存放server侧所需SQL和部署脚本

- db: server 侧的保存模式为 `db` 时所需表的建表语句
- docker-compose: server 侧通过 docker-compose 部署的脚本
- helm: server 侧通过 Helm 部署的脚本
- kubernetes: server 侧通过 Kubernetes 部署的脚本

## [config-center](https://github.com/seata/seata/tree/develop/script/config-center)

> 用于存放各种配置中心的初始化脚本,执行时都会读取 `config.txt`配置文件,并写入配置中心

- nacos: 用于向 Nacos 中添加配置
- zk: 用于向 Zookeeper 中添加配置,脚本依赖 Zookeeper 的相关脚本,需要手动下载;ZooKeeper相关的配置可以写在 `zk-params.txt` 中,也可以在执行的时候输入
- apollo: 向 Apollo 中添加配置,Apollo 的地址端口等可以写在 `apollo-params.txt`,也可以在执行的时候输入
- etcd3: 用于向 Etcd3 中添加配置
- consul: 用于向 consul 中添加配置

我的部署环境为win10,server端采用db模式,配置中心为nacos。

修改配置文件

file.conf和registry.conf使用一个即可。file.conf为不使用配置中心,registry.conf为使用配置中心。在我本机上启动seata服务端时,我把file.conf重命名为了file.conf.txt.

修改file.conf

如果不想依赖依赖于nacos或者是zk、redis、springcloud的eureka的方式,比如单机做实验,可以修改file.conf文件。如果是生产环境,建议使用registry.conf。

这里对服务端sql脚本中的三张表名做出了修改,加了一些前缀。

 

修改registry.conf 

注册中心改为nacos,并修改nacos响应配置:

向nacos中心写入配置

将部署脚本中的config.txt拷贝到seata安装路径中的conf目录下,并作出修改:

 

在向nacos导入配置时,seata官方提供了两个脚本: 

nacos-config.py需要Python环境,在我机子上测试时,Python2.7执行该文件报错,http.client模块找不到,后改为Python3.7执行才成功。

网上有的文章,在执行该命令时,没有指定namespace,那么配置会到public命名空间下,这样不便于管理,在使用seata1.3的nacos-config.py时,可以先进行一个修改:

执行命令如下:python nacos-config.py nacos地址 命名空间

 

在nacos中查看,可以看到配置已导入成功:

启动 

将数据库驱动jar包放到seata安装目录到的lib下,然后执行命令: 

seata-server.bat -n 1

 

seata-server.bat -n 2 -p 8902

 我这里启动了两个seata服务端,可以启动一个高可用的目的。

在nacos中可以看到有两个服务:

 service.vgroupMapping.

service.vgroupMapping.标题我标记为了红色,以显示出其重要性。

在config.txt中有以下配置:

这个配置项是一个很关键,也很容易出错的配置。 service.vgroupMapping.后边的my_test_tx_group是一个事务组,这个会在seata的Client端用到。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值