高级篇day02-seata的部署和集成
1. 部署 Seata 的 tc-server
1.1 下载
首先我们要下载 seata-server 包,地址在http://seata.io/zh-cn/blog/download.html
当然,课前资料也准备好了:

1.2 解压
在非中文目录解压缩这个 zip 包,其目录结构如下:

1.3 修改配置
修改 conf 目录下的 registry.conf 文件:

内容如下:
1.4 在 nacos 添加配置
特别注意,为了让 tc 服务的集群可以共享配置,我们选择了 nacos 作为统一配置中心。因此服务端配置文件 seataServer.properties 文件需要在 nacos 中配好。
格式如下:

配置内容如下:
==其中的数据库地址、用户名、密码都需要修改成你自己的数据库信息。==
1.5 创建数据库表
特别注意:tc 服务在管理分布式事务时,需要记录事务相关数据到数据库中,你需要提前创建好这些表。
新建一个名为 seata 的数据库,运行课前资料提供的 sql 文件:

这些表主要记录全局事务、分支事务、全局锁信息:
1.6 启动 TC 服务
进入 bin 目录,运行其中的 seata-server.bat 即可:

启动成功后,seata-server 应该已经注册到 nacos 注册中心了。
打开浏览器,访问 nacos 地址:http://localhost:8848,然后进入服务列表页面,可以看到 seata-tc-server 的信息:

2. 微服务集成 seata
2.1 引入依赖
首先,我们需要在微服务中引入 seata 依赖:
2.2 修改配置文件
需要修改 application.yml 文件,添加一些配置:
3. TC 服务的高可用和异地容灾
3.1 模拟异地容灾的 TC 集群
计划启动两台 seata 的 tc 服务节点:
seata
127.0.0.1
8091
SH
seata2
127.0.0.1
8092
HZ
之前我们已经启动了一台 seata 服务,端口是 8091,集群名为 SH。
现在,将 seata 目录复制一份,起名为 seata2
修改 seata2/conf/registry.conf 内容如下:
进入 seata2/bin 目录,然后运行命令:
打开 nacos 控制台,查看服务列表:

点进详情查看:

3.2 将事务组映射配置到 nacos
接下来,我们需要将 tx-service-group 与 cluster 的映射关系都配置到 nacos 配置中心。
新建一个配置:

配置的内容如下:
3.3 微服务读取 nacos 配置
接下来,需要修改每一个微服务的 application.yml 文件,让微服务读取 nacos 中的 client.properties 文件:
重启微服务,现在微服务到底是连接 tc 的 SH 集群,还是 tc 的 HZ 集群,都统一由 nacos 的 client.properties 来决定了。
Last updated
Was this helpful?