这里我使用了最新版本的Seata 2.0,下载地址Releases · seata/seata · GitHub
由于是在一台电脑上,这里直接修改端口号模拟集群,解压后的文件夹直接复制一份,进入conf目录下的application.yml文件,基础的配置就不说了(到高可用这一步,依赖什么的应该都配置好了),这里只说关键部分:
Seata部分
1、修改端口,只需要修改这个位置的值,这个端口是Seata控制台的端口
server:
port: 7091
真正的监听端口是8091,官方做出了解释:由控制台端口值加上1000就是默认的监听端口
# server:
# service-port: 8091 #If not configured, the default is '${server.port} + 1000'
方便起见这里建议直接修改控制台的端口
2、修改对应的集群名称,让两个Seata分别处于不同集群
registry:
nacos:
cluster: 集群名
然后启动nacos,接下来分别启动两个Seata服务端
Nacos部分
3、进入nacos控制台,在配置管理中添加配置
我这里DataId填了client.properties,Group填了SEATA_GROUP,配置格式选择Properties,加入下面内容
# 事务组映射关系
service.vgroupMapping.事务组名称=集群名称
微服务部分
4、配置微服务的yml配置文件,这里只展示了一部分
seata: tx-service-group: #事务组名称,和上面事务组映射关系中的事务组名称保持一致 config: type: nacos nacos: server-addr: localhost:8848 username: nacos password: nacos group: SEATA_GROUP # 刚刚配置文件的所在分组 data-id: client.properties # 刚刚配置文件的名称
以上配置做完后,启动微服务,可以在其中一个Seata命令行看到注册信息,这时候修改client.properties中的配置的service.vgroupMapping.事务组名称的值,改成另一个集群名,如果能在另一个Seata命令行中看到注册信息则说明配置成功。
第一次写文章,欢迎批评指正。