• Spring Cloud 获取注册中心所有服务以及服务下的所有实例


    注册中心现有服务与实例数:

    在任意客户端填写如下代码:

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

      

  • 相关阅读:
    判断应用程序是否是当前激活程序(获得焦点的程序)
    MFC的CListCtrl的使用与技巧
    VC/MFC中为程序定义全局快捷键
    [原]MFC中DIALOG(对话框)程序响应加速键(快捷键)
    问题:CListCtrl如何高亮选中一行 http://zhidao.baidu.com/question/100664911.html 扩展:单行、双行及完成状态的字体等等。。。
    C++读取INI文件
    键盘钩子监测按键后,获取键码及按键名称(MFC)
    一个分布式服务器集群架构方案
    Discuz!NT
    easyui validatebox 验证类型
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/8608903.html
Copyright © 2020-2023  润新知