2017-02-21 23 views
0

Мой techstack состоит из следующего сервераВесна Облако турбины - Нет данных вернулся из /turbine.stream

  • Eureka Discovery
  • Zuul Шлюз
  • Spring Config сервера
  • Hystrix Dashboard
  • Мои которые поддерживают поток Hystrix.

Панель приборов Hystrix работает нормально, поскольку я могу передавать потоки с помощью hystrics.stream, открытого из моих служб.

Однако всякий раз, когда я пытаюсь добавить турбину в этой стопке, то /turbine.stream возвращает только data: {"type":"Ping"} раз в браузере и в результате Hystrix панель показывает Unable to connect to Command Metric Stream

Может кто-то пожалуйста, помогите мне узнать, где я я ошибаюсь?

Вот мои ключевые конфигурации для турбины. Класс TurbineAppliation - это просто приложение springboot с @EnableTurbineStream, поэтому не перечисляйте его ниже.

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: (Просьба игнорировать эврика конкретные конфигурации, если он не имеет значения, я не настроился их сами). Настройки config и 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 
+0

У вас есть поток турбины, который считывает из кролика квадратных метров, у вас есть Hystrix поток (т.е. кролика) или просто HTTP? – spencergibb

+0

да мой поток истерии также использует кролика, и он отлично работает – Sayantan

+0

@spencergibb - есть ли у вас какие-либо идеи о том, что происходит не так? – Sayantan

ответ

0

Привет Я имею дело с той же проблемой, с помощью Camden.SR6.

После добавления следующего в турбинном pom.xml Service, я был в состоянии использовать поток турбины в 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 = кролик-MQ-сервер: 5672 к Файл bootstrap.properties.

enter image description here

+0

благодарит за отзыв – Sayantan

0

С новой версии 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> 
+0

Я могу, конечно, попробовать, но как работает поток турбин в этой новой версии, которую я использую? – Sayantan

+0

Я не знаю деталей, это ошибка. Проблема, которую я заметил, заключалась в том, что турбина слушала turbineStreamInput, но hystrix отправляла в springCloudHystrixStream. – Jeff

+0

Спасибо, мы попробуем его и обновим всякий раз, когда я получу некоторое время. Я перешел к другим вещам, поскольку я не мог получить много информации об этом. – Sayantan

0

Используйте для турбины приложения в вашем П

<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> 

 Смежные вопросы

  • Нет связанных вопросов^_^