Экземпляр турбины URLSuffix не работает

Я собираю потоки 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 за эту услугу, чтобы она работала?

Версии:

Турбинный сервис:

  • весеннее облако-родитель-родитель: Brixton.SR5
  • пружина-облако-стартер-турбина: 1.1.6

Эврика сервис:

  • весеннее облако-родитель-родитель: Brixton.SR5

3 ответа

Чтобы это работало, мне нужно было добавить эти два свойства в конфигурацию:

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

turbine.instanceInsertPort что сделал трюк, составив окончательный URL из schema://host+urlSuffix

Следующее сработало для меня. Примечание: профиль по умолчанию у меня тоже не работает, но отдельный поток работает таким образом.

мой service1 зарегистрирован на Eureka с -Dserver.port=5151 и -Dmanagement.port=5152, поэтому мой поток 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

Turbine не может читать turbine.instanceUrlSuffix в application.property или окружении, для чтения свойств требуется другая библиотека.

Была ли у вас зависимость 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>
Другие вопросы по тегам