2016-11-15 30 views
2

我正在使用eureka-js-client进行发现。使用eureka-js-client节点库的发现实例

当使用提供的方法来发现时,我得到以下输出。

我们应该如何解析这个来发现调用程序可以使用的URL。我们应该使用JSON输出中的hostName字段并使用它。缺乏关于如何使用的信息。感谢任何帮助。

代码:

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" 
    } 
] 

回答

0

这要看您的具体要求,但最常见的,你将要采取的hostNameport(或securePort)和建应用程序代码中的URL。