美文网首页工作生活
Spring Cloud 获取注册中心所有服务以及服务下的所有实

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

作者: 逆水寻洲 | 来源:发表于2019-07-31 23:19 被阅读0次
    image.png

    基本原理:

    获得eureka客户端实例,通过客户端获取注册中心所有服务信息。

    /**
     * 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;
    }
    
    

    相关文章

      网友评论

        本文标题:Spring Cloud 获取注册中心所有服务以及服务下的所有实

        本文链接:https://www.haomeiwen.com/subject/bikncctx.html