Zuul сообщает, что приложение config-server-1 недоступно, когда eureka сообщает, что оно UP - PullRequest
0 голосов
/ 27 июня 2019

У меня периодически возникает проблема с запуском Zuul вскоре после того, как config-server достиг своего статуса UP на Eureka. Зуул сообщает, что приложение для configserver недоступно.

Я добавил локон перед запуском Zuul для запроса eureka для приложения config-server-1. Это подтверждает, что у eureka определенно есть приложение, в котором Zuul сообщает, что приложение недоступно.

Zuul config:

spring:
  cloud:
    circuit:
      breaker:
        enabled: true

eureka:
  client:
    registerWithEureka: true

server:
  port: 8080

zuul:
  ignoredServices: '*'
  routes:
    # Platform Services
    eureka:
      path: /discovery/**
      serviceId: eureka-server-1
      stripPrefix: false
      retryable: true
    some-test:
      path: /some-test/**
      serviceId: some-test
      stripPrefix: true
      retryable: true
    config:
      path: /config/**
      serviceId: config-server-1
      stripPrefix: true
      retryable: true

Eureka ответ на запрос config-server-1:

Thu Jun 27 14:19:15 SAST 2019 - http://localhost:8889/eureka/apps/config-server-1
<application>
  <name>CONFIG-SERVER-1</name>
  <instance>
    <instanceId>quintin-sonic.discovery.holdings.co.za:config-server-1:8888</instanceId>
    <hostName>10.11.43.207</hostName>
    <app>CONFIG-SERVER-1</app>
    <ipAddr>10.11.43.207</ipAddr>
    <status>UP</status>
    <overriddenstatus>UNKNOWN</overriddenstatus>
    <port enabled="true">8888</port>
    <securePort enabled="false">443</securePort>
    <countryId>1</countryId>
    <dataCenterInfo class="com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo">
      <name>MyOwn</name>
    </dataCenterInfo>
    <leaseInfo>
      <renewalIntervalInSecs>30</renewalIntervalInSecs>
      <durationInSecs>90</durationInSecs>
      <registrationTimestamp>1561637956001</registrationTimestamp>
      <lastRenewalTimestamp>1561637956001</lastRenewalTimestamp>
      <evictionTimestamp>0</evictionTimestamp>
      <serviceUpTimestamp>1561637956002</serviceUpTimestamp>
    </leaseInfo>
    <metadata>
      <instanceId>config-server-1:PID-9348</instanceId>
      <management.port>8888</management.port>
    </metadata>
    <homePageUrl>http://10.11.43.207:8888/</homePageUrl>
    <statusPageUrl>http://10.11.43.207:8888/actuator/info</statusPageUrl>
    <healthCheckUrl>http://10.11.43.207:8888/actuator/health</healthCheckUrl>
    <vipAddress>config-server-1</vipAddress>
    <secureVipAddress>config-server-1</secureVipAddress>
    <isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
    <lastUpdatedTimestamp>1561637956002</lastUpdatedTimestamp>
    <lastDirtyTimestamp>1561637955651</lastDirtyTimestamp>
    <actionType>ADDED</actionType>
  </instance>
</application>

Вывод журнала в zuul-сервере:

[2019-06-27 14:19:21.957][ERROR][o.s.boot.SpringApplication              ] Application run failed
java.lang.IllegalStateException: No instances found of configserver (config-server-1)
        at org.springframework.cloud.config.client.ConfigServerInstanceProvider.getConfigServerInstances(ConfigServerInstanceProvider.java:25)
        at org.springframework.cloud.config.client.DiscoveryClientConfigServiceBootstrapConfiguration.refresh(DiscoveryClientConfigServiceBootstrapConfiguration.java:84)
        at org.springframework.cloud.config.client.DiscoveryClientConfigServiceBootstrapConfiguration.startup(DiscoveryClientConfigServiceBootstrapConfiguration.java:69)

Ожидается, что zuul-сервер всегда будет запускаться успешно, если config-server-1 включен.

Я периодически обнаруживаю, что сервер zuul сообщает, что приложение config-server-1 недоступно.

Zuul core version: 1.3.1
Eureka core version: 1.9.2
Config server version: 2.0.0.RELEASE
...