Экземпляры обнаружения с использованием библиотеки узлов eureka-js-client

Я использую eureka-js-client для обнаружения.

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

Как мы должны разобрать это, чтобы обнаружить URL-адреса, которые могут использоваться вызывающей программой. Должны ли мы использовать поле hostName из вывода JSON и использовать его. Отсутствие информации о том, как использовать. Цените любую помощь.

Код:

    client.start((error) => {
  console.log(error || 'complete');
      if(!error){
          //Get Instances By App ID
      // appInfo.application.instance contains array of instances 
      var appInfo = client.getInstancesByAppId('security-api');
      console.log('appInfo:' + appInfo);
      console.log('appInfo:' + JSON.stringify(appInfo));
      console.log('appInfo instances:' + JSON.stringify(appInfo.application));
      //Get Instances By Vip Address
      // appInfo.application.instance contains array of instances 
      // var appInfo2 = client.getInstancesByVipAddress('security-api-client');
      // console.log('appInfo2:' + appInfo2);
  }
});

Пример вывода:

   [  
   {  
      "hostName":"security-api.mybluemix.net",
      "app":"SECURITY-API",
      "ipAddr":"127.0.0.1",
      "status":"UP",
      "overriddenstatus":"UNKNOWN",
      "port":{  
         "$":62114,
         "@enabled":"true"
      },
      "securePort":{  
         "$":7002,
         "@enabled":"false"
      },
      "countryId":1,
      "dataCenterInfo":{  
         "@class":"com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo",
         "name":"MyOwn"
      },
      "leaseInfo":{  
         "renewalIntervalInSecs":30,
         "durationInSecs":90,
         "registrationTimestamp":1479240207261,
         "lastRenewalTimestamp":1479240357280,
         "evictionTimestamp":0,
         "serviceUpTimestamp":1479168100962
      },
      "metadata":{  
         "@class":"java.util.Collections$EmptyMap"
      },
      "statusPageUrl":"http://security-api.mybluemix.net/info",
      "vipAddress":"security-api-client",
      "isCoordinatingDiscoveryServer":"false",
      "lastUpdatedTimestamp":"1479240207261",
      "lastDirtyTimestamp":"1479240207201",
      "actionType":"ADDED"
   }
]

person neel    schedule 15.11.2016    source источник


Ответы (2)


Проблема может быть такой же, как и у меня, и решена здесь ">Spring Cloud Netflix Eureka не находит экземпляры eureka-js

Пропущено поле instanceId в новом объекте Eureka.

Не упоминается в документе eureka-js-client.

person Mitro    schedule 21.06.2018

Это зависит от ваших конкретных требований, но чаще всего вы захотите взять hostName и port (или securePort) и создать URL-адрес в коде своего приложения.

person JQ-    schedule 20.01.2017