1

我刚刚创建了我的第一个Consul感知 Spring Boot 应用程序,但它不能正常工作。

该应用程序非常简单:

@SpringBootConfiguration
@EnableAutoConfiguration
public class App {

    public static void main(String[] args) {
        SpringApplication.run(App.class);
    }

}

spring:
      application:
        name: exmpl
      cloud:
        consul:
          discovery:
            health-check-path: /my-health-check
            health-check-interval: 20s
            tags: exmplTag


dependencies {
    compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-consul', version: '2.1.2.RELEASE'
    compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-consul-discovery', version: '2.1.2.RELEASE'
    compile group: 'org.springframework.boot', name: 'spring-boot-starter', version: '2.1.6.RELEASE'
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.1.6.RELEASE'
}

我想提到该应用程序被正确发现并且属性被正确拾取。正如您在屏幕截图中看到的那样,标签“exmplTag”正确显示。

在此处输入图像描述

尽管如此,它health-check-path并没有暴露在外,也Consul无法对其进行健康检查。

这是否意味着我必须自己创建端点或者我的配置不正确?

4

1 回答 1

0

默认情况下,不设置健康检查端点 consul 将使用默认的弹簧执行器/health端点。

所以你需要添加对弹簧执行器的依赖。

如果您设置自定义健康检查 url,则需要提供该 url ( /my-health-check)。

向领事注册

于 2019-07-29T21:03:05.120 回答