1.创建独立springboot应用
2.引入依赖
<!--引入consul依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery(服务的发现预注册)</artifactId>
</dependency>
3.编马application . properties
server.port=8082
#指定客户端名称
spring.application.name=CONSULCLIENT
#consul server服务注册地址
spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
#指定注册当前服务的服务名 默认引用spring.application.name
spring.cloud.consul.discovery.service-name=${spring.application.name}
4.在入口类上加入注解
@SpringBootApplication
@EnableDiscoveryClient//作用:通用服务注册客户端注解代表consul client zk client nacos clientt
public class ConsulClientApplication {
public static void main(String[] args) {
SpringApplication.run(ConsulClientApplication.class,args);
}
}
5.直接启动consul client会出现如下问题
原因:
consul server检测所有客户端心跳,但是发送心跳时client必须给予响应该服务才能正常使用,在现有的客户端中我们并没有引入健康检查的依赖,所以导致健康检查始终不能通过,导致服务不能使用
默认情况下consul监控健康是开启的,但是必须依赖健康监控依赖才能正确监控健康状态所以直接启动会显示错误,引入健康监控依赖之后服务正常
<!--健康检查依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>