服务发现Discovery(查看运行的服务)

开始吧

对于注册到eureka里面的微服务,可以通过服务发现来获得该服务的信息

1、 修改cloud-provider-payment8001的controller

添加一个接口用于访问:服务发现

    // 两种方式获取Eureka中注册的服务有啥内容
    @GetMapping(value = "/payment/discovery")
    public Object discovery(){
        // 第一种方式:获取所有服务
        List<String> services = discoveryClient.getServices();
        // 遍历每一个服务
        for (String service : services) {
            log.info("*****service: " + service);
        }

        // 第二种方式:获取键名下的所有服务
        List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-ORDER-SERVICE");
        // 遍历每一个服务
        for(ServiceInstance serviceInstance:instances){
            log.info(serviceInstance.getServiceId() + "\t" + serviceInstance.getHost()
                    + "\t" + serviceInstance.getPort() + "\t" + serviceInstance.getUri());
        }
        return this.discoveryClient;
    }

2、 主启动类上加上@EnableDiscoveryClient注解

@SpringBootApplication
@EnableEurekaClient     //Eureka客户端
@EnableDiscoveryClient  //启动服务发现
public class PaymentMain8001 {
    public static void main(String[] args) {
        SpringApplication.run(PaymentMain8001.class, args);
    }
}

3、 测试访问接口,控制台查看输出

posted @ 2020-11-19 23:21  我才不是你的谁  阅读(1201)  评论(0编辑  收藏  举报