Consul 注册中心
Consul 是 Seata 组件中重要的注册中心实现
本文基于 Seata 1.4.2,把 Seata 注册到 Consul 上,以 file 作为配置中心
Consul 版本建议 1.8+,下文以 Consul 1.11.2 为例
预备工作
当您准备将 Seata 注册到 Consul 之前,请确保已经启动 Consul 服务。如果您尚且不熟悉 Consul 的基本使用的话, 可先行参考 Consul 官方文档
如果您只想快速体验,也可以使用以 下 docker 命令启动一个 Consul 容器,输入 http://localhost:8500 访问 Consul 控制台
docker run -d --name=consul -p 8500:8500 -p 8600:8600/udp consul:1.11.2 agent -dev -client=0.0.0.0 -ui
快速上手
Seata 融合 Consul 注册中心的非常简单,分 Server 端和 Client 端
Server 端只需要配置“注册中心”
Client 端则需要增加 Maven 依赖以及配置
Server端配置注册中心
下载 Seata 1.4.2 release 并解压
在 /conf/registry.conf 中修改对应配置中心,其余配置参考
registry {
type = "consul"
consul {
# 注册到 Consul 上的集群名称,默认是 default
cluster = "default"
serverAddr = "127.0.0.1:8500"
aclToken = ""
}
}
执行 /bin/seata-server.bat (Windows) 或 /bin/seata-server.sh (Unix) 启动 Seata,服务将运行在本地 8091 端口上
进入 Consul 控制台,查看 Seata 是否注册成功
Client 端增加 Maven 依赖
以 SpringBoot 项目为例,在项目 pom.xml 中加入
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>最新版(Seata版本)</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>