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