Использование Hystrix Stream в Zuul с Eureka First для поиска сервера конфигурации

Я использую Spring Cloud Brixton.M4 с Spring Boot 1.3.1.

У меня есть сервер zuul с

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-netflix-hystrix-stream</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
    </dependency>

и я сначала использую Eureka, чтобы найти Config-Server, поэтому начальная загрузка выглядит так

spring:
 profiles: dev 
 cloud:
   config:
     fail-fast: true
     discovery:
       enabled: true
       serviceId: config-server

zuul регистрируется дважды: сначала в состоянии UP, затем в состоянии STARTING.

2016-01-18 14:47:27.209  INFO 2808 --- [           main] c.w.i.edgeserver.EdgeServerApplication   : Started EdgeServerApplication in 21.651 seconds (JVM running for 22.232)
2016-01-18 14:47:56.231  INFO 2808 --- [ool-20-thread-1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_EDGE-SERVER/192.168.17.178:edge-server:8003 - Re-registering apps/EDGE-SERVER
2016-01-18 14:47:56.270  INFO 2808 --- [ool-20-thread-1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_EDGE-SERVER/192.168.17.178:edge-server:8003: registering service...
2016-01-18 14:47:56.281  INFO 2808 --- [ool-20-thread-1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_EDGE-SERVER/192.168.17.178:edge-server:8003 - registration status: 204
2016-01-18 14:48:06.230  INFO 2808 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_EDGE-SERVER/192.168.17.178:edge-server:8003: registering service...
2016-01-18 14:48:06.238  INFO 2808 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_EDGE-SERVER/192.168.17.178:edge-server:8003 - registration status: 204

Если я уберу зависимость от config-сервера, установив

spring:
 profiles: dev 
 cloud:
   config:
     fail-fast: false
     discovery:
       enabled: false
       serviceId: config-server

все работает нормально.


person Dinkar Thakur    schedule 18.01.2016    source источник


Ответы (1)


Я думаю, что это нормально (этап начальной загрузки должен зарегистрироваться, чтобы получить местоположение сервера конфигурации, а затем отменить регистрацию, чтобы основное приложение могло снова зарегистрироваться). Вы, вероятно, обнаружите, что он возвращается к UP после того, как приложение полностью запустилось.

person Dave Syer    schedule 19.01.2016
comment
но проблема в том, что он никогда не переходит в состояние UP, и странно, что все работает нормально. Маршруты, балансировка нагрузки, Hystrix Stream, Rabbit Steam и управление. - person Dinkar Thakur; 20.01.2016
comment
Ну, это работает для меня. Попробуй со снапшотами? Выложить пример проекта? - person Dave Syer; 20.01.2016
comment
ок, я попробую и опубликую образец проекта. Из любопытства будет ли Brixton выпущен в этом месяце?? :) - person Dinkar Thakur; 20.01.2016
comment
Я запустил ваш пример, и пограничная служба показывает STATUS=UP через 3 минуты. Так что я думаю, что это все еще работает для меня. Как вы запускаете процессы? - person Dave Syer; 15.02.2016
comment
используя sts для запуска приложения java версии 1.8.0_66. даже я пробовал с пакетом mvn, а затем запускал толстую банку с помощью java - jar - person Dinkar Thakur; 15.02.2016
comment
Все еще работает на меня. Может быть, в вашем окружении есть что-то еще? Другой клиент eureka пытается заявить права на этот порт? - person Dave Syer; 15.02.2016
comment
до сих пор не могу понять проблему, но когда я попробовал ее на новой машине, она работает. На моей старой машине я запускал множество других сервисов, таких как RabitMq, Redis, Mongo и es. так что я думаю, что был какой-то конфликт. Но дело в том, что когда я удаляю зависимость spring-cloud-netflix-hystrix-stream, все работает нормально. - person Dinkar Thakur; 26.02.2016