工作生活

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

2019-07-31  本文已影响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;
}

上一篇下一篇

猜你喜欢

热点阅读