Spring Cloud turbine - 没有从 /turbine.stream 返回数据
Spring Cloud turbine - No data returned from /turbine.stream
我的技术栈包括以下内容
- 尤里卡发现服务器
- Zuul 网关
- Spring 配置服务器
- Hystrix 仪表板
- 我的核心服务启用了 Hystrix 流。
Hystrix 仪表板工作正常,因为我能够使用从我的服务中公开的 hystrics.stream 进行流式传输。
但是,每当我尝试将涡轮机添加到此堆栈时,/turbine.stream 只会在浏览器上重复 returns data: {"type":"Ping"}
,结果 Hystrix 仪表板显示 Unable to connect to Command Metric Stream
有人可以帮我找出我哪里出错了吗?
这是我对涡轮机的主要配置。 TurbineAppliation class 只是一个带有 @EnableTurbineStream 的 springboot 应用程序,因此不在下面列出。
pom 依赖项:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-turbine-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>
</dependencies>
bootstrap.yml:(如果没有关系,请忽略 eureka 特定配置,因为我没有自己调整它们)。配置服务器和尤里卡设置对于所有其他工作正常的组件都是相同的。
spring:
application:
name: Turbine
cloud:
config:
enabled: true
discovery:
enabled: true
serviceId: ConfigServer
management:
security:
enabled: false
eureka:
instance:
leaseRenewalIntervalInSeconds: 10
# leaseExpirationDurationInSeconds: 2
preferIpAddress: true
ipAddress: 127.0.0.1
client:
serviceUrl:
defaultZone: http://localhost:8761/discovery/eureka/ ---discovery is my eureka context root required for my app
application.yml
server:
port: 7980
info:
component: Turbine App
turbine:
aggregator:
clusterConfig: MY-SERVICE
appConfig: MY-SERVICE
clusterNameExpression: new String('default')
InstanceMonitor:
eventStream:
skipLineLogic:
enabled: false
使用新版本 Spring Cloud Camden SR5,rabbitMQ 队列从 springCloudHystrixStream
重命名为 turbineStreamInput
。
作为解决方法,您可以指定 spring-cloud-stream
.
的先前版本
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>
在您的 pom
中用于 turbine 应用
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix</artifactId>
<version>1.3.0.M1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
您好,我正在使用 Camden.SR6 处理同样的问题。
在 Turbine Service pom.xml 中添加以下内容后,我能够在 hystrix 仪表板中使用涡轮流:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-hystrix-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
我还添加了:spring.rabbitmq.address=rabbit-mq-server:5672 到 bootstrap.properties 文件。
我的技术栈包括以下内容
- 尤里卡发现服务器
- Zuul 网关
- Spring 配置服务器
- Hystrix 仪表板
- 我的核心服务启用了 Hystrix 流。
Hystrix 仪表板工作正常,因为我能够使用从我的服务中公开的 hystrics.stream 进行流式传输。
但是,每当我尝试将涡轮机添加到此堆栈时,/turbine.stream 只会在浏览器上重复 returns data: {"type":"Ping"}
,结果 Hystrix 仪表板显示 Unable to connect to Command Metric Stream
有人可以帮我找出我哪里出错了吗?
这是我对涡轮机的主要配置。 TurbineAppliation class 只是一个带有 @EnableTurbineStream 的 springboot 应用程序,因此不在下面列出。
pom 依赖项:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-turbine-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>
</dependencies>
bootstrap.yml:(如果没有关系,请忽略 eureka 特定配置,因为我没有自己调整它们)。配置服务器和尤里卡设置对于所有其他工作正常的组件都是相同的。
spring:
application:
name: Turbine
cloud:
config:
enabled: true
discovery:
enabled: true
serviceId: ConfigServer
management:
security:
enabled: false
eureka:
instance:
leaseRenewalIntervalInSeconds: 10
# leaseExpirationDurationInSeconds: 2
preferIpAddress: true
ipAddress: 127.0.0.1
client:
serviceUrl:
defaultZone: http://localhost:8761/discovery/eureka/ ---discovery is my eureka context root required for my app
application.yml
server:
port: 7980
info:
component: Turbine App
turbine:
aggregator:
clusterConfig: MY-SERVICE
appConfig: MY-SERVICE
clusterNameExpression: new String('default')
InstanceMonitor:
eventStream:
skipLineLogic:
enabled: false
使用新版本 Spring Cloud Camden SR5,rabbitMQ 队列从 springCloudHystrixStream
重命名为 turbineStreamInput
。
作为解决方法,您可以指定 spring-cloud-stream
.
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>
在您的 pom
中用于 turbine 应用<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix</artifactId>
<version>1.3.0.M1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
您好,我正在使用 Camden.SR6 处理同样的问题。
在 Turbine Service pom.xml 中添加以下内容后,我能够在 hystrix 仪表板中使用涡轮流:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-hystrix-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
我还添加了:spring.rabbitmq.address=rabbit-mq-server:5672 到 bootstrap.properties 文件。