注册中心现有服务与实例数:
在任意客户端填写如下代码:
/** * import org.springframework.cloud.client.ServiceInstance; * import org.springframework.cloud.client.discovery.DiscoveryClient; * * 获取每一个服务下面实例 * 测试时,可以使用多个端口启动服务实例 */ @Autowired private DiscoveryClient discoveryClient; @GetMapping("/serviceurl") public Map<String, List<ServiceInstance>> serviceUrl() { Map<String, List<ServiceInstance>> msl = new HashMap<>(); List<String> services = discoveryClient.getServices(); for (String service : services) { List<ServiceInstance> sis = discoveryClient.getInstances(service); msl.put(service, sis); } return msl; }
返回结果:
{ "XXXXX-microservice-testprovider": [ { "host": "XXX.XXX.XXX.XXX", "port": 30001, "metadata": { "management.port": "30001", "jmx.port": "54767" }, "uri": "http://XXX.XXX.XXX.XXX:30001", "serviceId": "XXXXX-MICROSERVICE-TESTPROVIDER", "secure": false, "instanceInfo": { "instanceId": "XXX.XXX.XXX.XXX:XXXXX-microservice-testprovider:30001", "app": "XXXXX-MICROSERVICE-TESTPROVIDER", "appGroupName": null, "ipAddr": "XXX.XXX.XXX.XXX", "sid": "na", "homePageUrl": "http://XXX.XXX.XXX.XXX:30001/", "statusPageUrl": "http://XXX.XXX.XXX.XXX:30001/info", "healthCheckUrl": "http://XXX.XXX.XXX.XXX:30001/health", "secureHealthCheckUrl": null, "vipAddress": "XXXXX-microservice-testprovider", "secureVipAddress": "XXXXX-microservice-testprovider", "countryId": 1, "dataCenterInfo": { "@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo", "name": "MyOwn" }, "hostName": "XXX.XXX.XXX.XXX", "status": "UP", "leaseInfo": { "renewalIntervalInSecs": 1, "durationInSecs": 2, "registrationTimestamp": 1521525318562, "lastRenewalTimestamp": 1521525692105, "evictionTimestamp": 0, "serviceUpTimestamp": 1521525318562 }, "isCoordinatingDiscoveryServer": false, "metadata": { "management.port": "30001", "jmx.port": "54767" }, "lastUpdatedTimestamp": 1521525318562, "lastDirtyTimestamp": 1521525318499, "actionType": "ADDED", "asgName": null, "overriddenStatus": "UNKNOWN" } } ], "XXXXX-microservice-testconsumer": [ { "host": "XXX.XXX.XXX.XXX", "port": 30003, "metadata": { "management.port": "30003", "jmx.port": "55025" }, "uri": "http://XXX.XXX.XXX.XXX:30003", "serviceId": "XXXXX-MICROSERVICE-TESTCONSUMER", "secure": false, "instanceInfo": { "instanceId": "XXX.XXX.XXX.XXX:XXXXX-microservice-testconsumer:30003", "app": "XXXXX-MICROSERVICE-TESTCONSUMER", "appGroupName": null, "ipAddr": "XXX.XXX.XXX.XXX", "sid": "na", "homePageUrl": "http://XXX.XXX.XXX.XXX:30003/", "statusPageUrl": "http://XXX.XXX.XXX.XXX:30003/info", "healthCheckUrl": "http://XXX.XXX.XXX.XXX:30003/health", "secureHealthCheckUrl": null, "vipAddress": "XXXXX-microservice-testconsumer", "secureVipAddress": "XXXXX-microservice-testconsumer", "countryId": 1, "dataCenterInfo": { "@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo", "name": "MyOwn" }, "hostName": "XXX.XXX.XXX.XXX", "status": "UP", "leaseInfo": { "renewalIntervalInSecs": 1, "durationInSecs": 2, "registrationTimestamp": 1521525777701, "lastRenewalTimestamp": 1521525781698, "evictionTimestamp": 0, "serviceUpTimestamp": 1521525207494 }, "isCoordinatingDiscoveryServer": false, "metadata": { "management.port": "30003", "jmx.port": "55025" }, "lastUpdatedTimestamp": 1521525777701, "lastDirtyTimestamp": 1521525777639, "actionType": "ADDED", "asgName": null, "overriddenStatus": "UNKNOWN" } }, { "host": "XXX.XXX.XXX.XXX", "port": 30002, "metadata": { "management.port": "30002", "jmx.port": "55014" }, "uri": "http://XXX.XXX.XXX.XXX:30002", "serviceId": "XXXXX-MICROSERVICE-TESTCONSUMER", "secure": false, "instanceInfo": { "instanceId": "XXX.XXX.XXX.XXX:XXXXX-microservice-testconsumer:30002", "app": "XXXXX-MICROSERVICE-TESTCONSUMER", "appGroupName": null, "ipAddr": "XXX.XXX.XXX.XXX", "sid": "na", "homePageUrl": "http://XXX.XXX.XXX.XXX:30002/", "statusPageUrl": "http://XXX.XXX.XXX.XXX:30002/info", "healthCheckUrl": "http://XXX.XXX.XXX.XXX:30002/health", "secureHealthCheckUrl": null, "vipAddress": "XXXXX-microservice-testconsumer", "secureVipAddress": "XXXXX-microservice-testconsumer", "countryId": 1, "dataCenterInfo": { "@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo", "name": "MyOwn" }, "hostName": "XXX.XXX.XXX.XXX", "status": "UP", "leaseInfo": { "renewalIntervalInSecs": 1, "durationInSecs": 2, "registrationTimestamp": 1521525776047, "lastRenewalTimestamp": 1521525782150, "evictionTimestamp": 0, "serviceUpTimestamp": 1521525776047 }, "isCoordinatingDiscoveryServer": false, "metadata": { "management.port": "30002", "jmx.port": "55014" }, "lastUpdatedTimestamp": 1521525776047, "lastDirtyTimestamp": 1521525775985, "actionType": "ADDED", "asgName": null, "overriddenStatus": "UNKNOWN" } } ] }