Spring cloud DiscoveryClient未看到来自Eureka的服务

Spring cloud DiscoveryClient未看到来自Eureka的服务,spring-cloud,netflix-eureka,spring-cloud-netflix,Spring Cloud,Netflix Eureka,Spring Cloud Netflix,当我向eureka询问它所知道的服务时(localhost:8071/eureka/apps/),它说有3项服务上线了: <applications> <versions__delta>1</versions__delta> <apps__hashcode>UP_3_</apps__hashcode> <application> <name>ROUTER</name> &l

当我向eureka询问它所知道的服务时(localhost:8071/eureka/apps/),它说有3项服务上线了:

<applications>
  <versions__delta>1</versions__delta>
  <apps__hashcode>UP_3_</apps__hashcode>
  <application>
    <name>ROUTER</name>
    <instance>
      <instanceId>localhost:router:8765</instanceId>
      <hostName>localhost</hostName>
      <app>ROUTER</app>
      <ipAddr>10.0.75.1</ipAddr>
      <status>UP</status>
      <overriddenstatus>UNKNOWN</overriddenstatus>
      <port enabled="true">8765</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>1502197927458</registrationTimestamp>
        <lastRenewalTimestamp>1502198527594</lastRenewalTimestamp>
        <evictionTimestamp>0</evictionTimestamp>
        <serviceUpTimestamp>1502197927458</serviceUpTimestamp>
      </leaseInfo>
      <metadata class="java.util.Collections$EmptyMap"/>
      <homePageUrl>http://localhost:8765/</homePageUrl>
      <statusPageUrl>http://localhost:8765/info</statusPageUrl>
      <healthCheckUrl>http://localhost:8765/health</healthCheckUrl>
      <vipAddress>router</vipAddress>
      <secureVipAddress>router</secureVipAddress>
      <isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
      <lastUpdatedTimestamp>1502197927458</lastUpdatedTimestamp>
      <lastDirtyTimestamp>1502197825173</lastDirtyTimestamp>
      <actionType>ADDED</actionType>
    </instance>
  </application>
  <application>
    <name>ORDERS</name>
    <instance>
      <instanceId>localhost:ORDERS:8081</instanceId>
      <hostName>localhost</hostName>
      <app>ORDERS</app>
      <ipAddr>10.0.75.1</ipAddr>
      <status>UP</status>
      <overriddenstatus>UNKNOWN</overriddenstatus>
      <port enabled="true">8081</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>1502198168983</registrationTimestamp>
        <lastRenewalTimestamp>1502198528945</lastRenewalTimestamp>
        <evictionTimestamp>0</evictionTimestamp>
        <serviceUpTimestamp>1502198088982</serviceUpTimestamp>
      </leaseInfo>
      <metadata class="java.util.Collections$EmptyMap"/>
      <homePageUrl>http://localhost:8081/</homePageUrl>
      <statusPageUrl>http://localhost:8081/info</statusPageUrl>
      <healthCheckUrl>http://localhost:8081/health</healthCheckUrl>
      <vipAddress>ORDERS</vipAddress>
      <secureVipAddress>ORDERS</secureVipAddress>
      <isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
      <lastUpdatedTimestamp>1502198168983</lastUpdatedTimestamp>
      <lastDirtyTimestamp>1502198168956</lastDirtyTimestamp>
      <actionType>ADDED</actionType>
    </instance>
  </application>
  <application>
    <name>FRONTEND</name>
    <instance>
      <instanceId>32e1ed7e75ba:8080</instanceId>
      <hostName>32e1ed7e75ba</hostName>
      <app>FRONTEND</app>
      <ipAddr>172.17.0.3</ipAddr>
      <status>UP</status>
      <overriddenstatus>UNKNOWN</overriddenstatus>
      <port enabled="true">8080</port>
      <securePort enabled="false">7002</securePort>
      <countryId>1</countryId>
      <dataCenterInfo class="com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo">
        <name>MyOwn</name>
      </dataCenterInfo>
      <leaseInfo>
        <renewalIntervalInSecs>30</renewalIntervalInSecs>
        <durationInSecs>90</durationInSecs>
        <registrationTimestamp>1502197928887</registrationTimestamp>
        <lastRenewalTimestamp>1502198529372</lastRenewalTimestamp>
        <evictionTimestamp>0</evictionTimestamp>
        <serviceUpTimestamp>1502197928887</serviceUpTimestamp>
      </leaseInfo>
      <metadata class="java.util.Collections$EmptyMap"/>
      <homePageUrl>http://32e1ed7e75ba:8080</homePageUrl>
      <statusPageUrl>http://32e1ed7e75ba:8080/info</statusPageUrl>
      <healthCheckUrl>http://32e1ed7e75ba:8080/health</healthCheckUrl>
      <vipAddress>true</vipAddress>
      <isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
      <lastUpdatedTimestamp>1502197928887</lastUpdatedTimestamp>
      <lastDirtyTimestamp>1502197928886</lastDirtyTimestamp>
      <actionType>ADDED</actionType>
    </instance>
  </application>
</applications>
)上面写着2-路由器和订单,但没有前端

有人知道原因是什么吗

作为提示,WEBFRONT应用程序是一个带有eureka插件的nodejs应用程序。路由器和订单都是靴子。
显然,前端注册正确,尤里卡认为这是正确的。我将eureka XML输出逐行与订单和前端进行了比较,并没有发现任何重大差异…

我发现前端服务的
vipAddress
字段是
true
,但我认为在您的情况下应该是
FRONTEND
FRONTEND
。因为在引擎盖下,
EurekaDiscoveryClient
使用
com.netflix.discovery.EurekaClient getInstancesByVipAddress(String,bool)
函数()通过其
vipAddress
查询可用服务


更改后,您应该可以在路由器服务的
/service instances/frontend
路径的响应中看到该服务。

您可以将前端项目的eureka设置包括在内吗?谢谢,就是这样。我不知道它一定是平等的!你是怎么换这件女裙的?这可以通过Spring属性文件完成吗?我试过eureka.instance.vipAddress,但没用。。。