一、简介
- 官方介绍、中文翻译、 官方下载
- 总的来说,consul可以提供注册服务。并且也可以通过网页监控。是一个eureka蛮不错的替代产品。
- 值得一提的是,这也是一个保证AP(高可用性、分区容错性),而丢弃C(高一致性)的产品。
二、安装并使用
1. 安装
- 为了模拟现实生产环境,本次将consul安装在centos7环境下。可以点击官方的下载地址,依据自己实际的环境进行选择。

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install consul
2. 开启consul服务
-dev表示目前正在开发环境,-client 0.0.0.0表示允许所有ip访问,必须要有这一步,否则无法远程访问。
consul agent -dev -client 0.0.0.0
3. 监控中心
ifconfig
- 在本地的浏览器上,根据ip地址,加上8500端口号,查看监控。看到以下界面,表示开启成功。

三、注册中心
- 在Java上的操作,与Eureka、zk没有太大差别。
1. 导包
- 最重要的,当然是
spring-cloud-starter-consul-discovery
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2. yaml配置文件
spring.cloud.consul.host根据实际情况来,和之前查的ip地址一致。端口号如果没修改,都是8500。
- 值得一提的是,需要开启心跳,否则在监控界面会显示服务不健康。
server:
port: 8006
spring:
application:
name: cloud-payment-service
cloud:
consul:
host: 192.168.233.137
port: 8500
discovery:
service-name: ${spring.application.name}
heartbeat:
enabled: true
3. 主启动类
@SpringBootApplication
@EnableDiscoveryClient
public class PaymentApplication8006 {
public static void main(String[] args) {
SpringApplication.run(PaymentApplication8006.class, args);
}
}
4. 查看监控
- 目前已经有两个服务,分别具有一个实例了。
