这是获取回来的信息
{
"code": 0,
"msg": "success",
"data": [{
"host": "192.168.10.151",
"port": 8081,
"scheme": null,
"id": "192.168.10.151:8081",
"zone": "defaultZone",
"readyToServe": true,
"instanceInfo": {
"instanceId": "service-user:192.168.10.151:8081",
"app": "SERVICE-USER",
"appGroupName": null,
"ipAddr": "192.168.10.151",
"sid": "na",
"homePageUrl": "http://192.168.10.151:8081/",
"statusPageUrl": "http://192.168.10.151:8081/actuator/info",
"healthCheckUrl": "http://192.168.10.151:8081/actuator/health",
"secureHealthCheckUrl": null,
"vipAddress": "service-user",
"secureVipAddress": "service-user",
"countryId": 1,
"dataCenterInfo": {
"@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo",
"name": "MyOwn"
},
"hostName": "192.168.10.151",
"status": "UP",
"overriddenStatus": "UNKNOWN",
"leaseInfo": {
"renewalIntervalInSecs": 30,
"durationInSecs": 90,
"registrationTimestamp": 1571662166884,
"lastRenewalTimestamp": 1571664087070,
"evictionTimestamp": 0,
"serviceUpTimestamp": 1571662166381
},
"isCoordinatingDiscoveryServer": false,
"metadata": {
"management.port": "8081",
"jmx.port": "56121"
},
"lastUpdatedTimestamp": 1571662166884,
"lastDirtyTimestamp": 1571662166320,
"actionType": "ADDED",
"asgName": null
},
"metaInfo": {
"serverGroup": null,
"serviceIdForDiscovery": "service-user",
"instanceId": "service-user:192.168.10.151:8081",
"appName": "SERVICE-USER"
},
"alive": true,
"hostPort": "192.168.10.151:8081"
}]
}
这是注册中心信息
使用一下代码就可以获取ribbon维护的注册中心的负载服务端信息
@Autowired
private SpringClientFactory factory;
@GetMapping("/service_list")
private Result<List<Server>> serviceList(){
//获取LoadBalancer
ILoadBalancer lb = factory.getLoadBalancer("SERVICE-USER");
//获取所有服务列表
List<Server> allServers = lb.getAllServers();
//获取正常的服务列表
List<Server> upServers = lb.getReachableServers();
//打印
System.out.println(allServers);
System.out.println(upServers);
//返回信息给web
Result<List<Server>> result=new Result<>();
result.success(upServers);
return result;
}
以上信息可以做什么呢?大家思考下吧