Spring Turbine без Eureka, не показывает список кластеров и данные Hystrix - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь реализовать Turbine, но без Eureka. У меня есть

1 микросервис "read" на 8091, 8092

1 Zuul service на 8099

POM File

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.1.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zuul</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-hystrix</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
    </dependency>


</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Camden.SR6</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>

1 Турбинный сервис на 8075


POM-файл

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.5.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <spring-cloud.version>Finchley.SR1</spring-cloud.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
    </dependency>


    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-turbine</artifactId>
        <version>1.4.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

application.properties


server.port=8075
spring.application.name=turbine

spring.cloud.service-registry.auto-registration.enabled=false

eureka.client.register-with-eureka=false

eureka.client.fetch-registry=false

turbine.app-config=zuul-service,read

turbine.aggregator.clusterConfig=ZUUL-SERVICE,READ

management.endpoints.web.exposure.include=*

turbine.ConfigPropertyBasedDiscovery.READ.instances=localhost:8091

turbine.ConfigPropertyBasedDiscovery.ZUUL-SERVICE.instances=localhost:8099

turbine.instanceInsertPort.READ=false

turbine.instanceUrlSuffix.READ=:8091/hystrix.stream

turbine.instanceUrlSuffix.ZUUL-SERVICE=:8099/hystrix.stream

Я могу получить желаемый результат для http://localhost:8099/read/to_read.

Я также включил Hysterix на том же Zuul.

http://localhost:8099/hystrix показывает панель управления

Когда я введите http://localhost:8099/hystrix.stream в приборной панели, я могу видеть данные (Схема)

http://localhost:8075/hystrix показывает приборную панель

Когда я ввожу http://localhost:8075/hystrix.stream в приборной панели, я получаю ошибку Невозможно подключиться к команде Metri c Stream

http://localhost:8075/clusters показывает []

В идеале это показывает формат JSON службы чтения. но он показывает пустым.

У меня есть сомнения относительно того, когда использовать

InstanceDiscovery.impl=com.netflix.turbine.discovery.ConfigPropertyBasedDiscovery

и когда использовать

InstanceDiscovery.impl=com.netflix.turbine.discovery.FileBasedInstanceDiscovery

Также, как их использовать.

Ценю, если кто-то может помочь, я искал различные сайты, но не смог найти прорыв.

Заранее спасибо.

...