Я пытаюсь реализовать 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
Также, как их использовать.
Ценю, если кто-то может помочь, я искал различные сайты, но не смог найти прорыв.
Заранее спасибо.