主要功能:
服务发现、健康监测、KV(key-value)存储、多数据中心、可视化Web界面
官网下载地址:
https://www.consul.io/downloads.html
中文介绍教程:
https://www.springcloud.cc/spring-cloud-consul.html
官网安装说明:
https://learn.hashicorp.com/consul/getting-started/install.html
注:如果使用官网的安装命令如报以下错误:
Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist
进入文件 /etc/yum.repos.d/CentOS-Epel.repo,将 failovermethod=priority 注释。
linux下载安装:
https://releases.hashicorp.com/consul/
解压consul_1.11.2_linux_amd64.zip
unzip consul_1.11.2_linux_amd64.zip
执行命令
./consul
如果出现下图就说明自动安装成功了
启动:
nohup ./consul agent -dev -client 0.0.0.0 -ui &
查看启动状态
netstat -anp|grep 8500
访问
服务器ip:8500
代码配置:
pom.xml引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
application.properties
#服务名称
spring.application.name=cloud-pay-service
#consul注册中心ip地址
spring.cloud.consul.host=这里为consul注册中心ip地址
#consul注册中心端口
spring.cloud.consul.port=8500
#注册的服务名
spring.cloud.consul.discovery.service-name=${spring.application.name}
启动类加注解
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
启动项目,启动成功后访问 ip:8500
这里我们的服务就注册成功了,开启服务心跳检测 application.properties 再访问consul
#开启心跳机制
spring.cloud.consul.discovery.heartbeat.enabled=true