涡轮实例 URLSuffix 不起作用

Posted

技术标签:

【中文标题】涡轮实例 URLSuffix 不起作用【英文标题】:Turbine instanceURLSuffix not working 【发布时间】:2017-01-23 11:42:32 【问题描述】:

我正在从涡轮机收集 hystrix 流,但服务在端口 5555 上启用了管理端口。

当我在涡轮机中设置属性时:

eureka.client.serviceUrl.defaultZone=http://discovery:8761/eureka/

server.port=8989

InstanceDiscovery.impl=com.netflix.turbine.discovery.EurekaInstanceDiscovery.class

turbine.instanceUrlSuffix=:5555/hystrix.stream
turbine.InstanceMonitor.eventStream.skipLineLogic.enabled=false
turbine.appConfig=service1,service2,gateway
turbine.clusterNameExpression=new String('default')

它尝试连接到:

http://gateway-ip:10000/:5555/hystrix.stream

而不是替换端口。我有什么遗漏吗?

更新

我怀疑 instanceUrlSuffix 和 EurekaInstanceDiscovery 之间不兼容。

我需要为该服务输入任何信息metadataMap 以使其正常工作吗?

版本是:

涡轮服务:

spring-cloud-starter-parent: Brixton.SR5 spring-cloud-starter-turbine:1.1.6

尤里卡服务:

spring-cloud-starter-parent: Brixton.SR5

【问题讨论】:

【参考方案1】:

为了让它工作,我必须将这两个属性添加到配置中:

turbine:
  instanceInsertPort: false
  instanceUrlSuffix: :5555/hystrix.stream

turbine.instanceInsertPort 的诀窍在于,由schema://host+urlSuffix 组成最终 URL

【讨论】:

那很好..我希望我的回答至少能给你一些方向。【参考方案2】:

以下对我有用。 注意:默认配置文件对我也不起作用,但单个流以这种方式工作。

我的 service1 使用 -Dserver.port=5151 和 -Dmanagement.port=5152 注册到 Eureka,因此我的 hystrix 流与我的服务端点位于不同的端口上。

turbine.instanceInsertPort=false
turbine.appConfig=service1
turbine.aggregator.clusterConfig=SERVICE1
turbine.instanceUrlSuffix.USER=:5152/hystrix.stream
InstanceDiscovery.impl=com.netflix.turbine.discovery.EurekaInstanceDiscovery.class

【讨论】:

【参考方案3】:

Turbine 无法读取 application.property 或 environment 中的 'turbine.instanceUrlSuffix',它需要其他 lib 才能读取属性。

你是依赖库spring-cloud-starter-netflix-hystrix-dashboard还是spring-cloud-starter-netflix-archaius?如果没有,请尝试将其添加到您的 pom.xml。

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

【讨论】:

以上是关于涡轮实例 URLSuffix 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Sequelize 实例方法不起作用?

为啥 ICollection 索引在实例化时不起作用?

Actionscript 3 实例名称属性不起作用

为啥我的 ASP.NET MVC 多实例性能计数器不起作用

颤振/飞镖格式化数据到实例不起作用

导入自定义 axios 实例时 Vuex 模块不起作用