当前位置:   article > 正文

【SpringCloud】eureka 服务发现Discovery_res.discovery.type=eureka

res.discovery.type=eureka

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

就是cloud-provider-payment8001和8002 provider都注册进了eureka注册中心,假设消费者80想看看这些端口号和服务名,那么应该怎么才取得到信息?
那么怎么实现了?
添加cloud-provider-payment8001中的controller

注意导包import org.springframework.cloud.client.discovery.DiscoveryClient;

 	@Resource
	 private DiscoveryClient discoveryClient;
    @GetMapping("/payment/discovery")
    public Object discovery(){
        List<String> services = discoveryClient.getServices();//获得服务列表的信息
        services.forEach(elem->{
            log.info("element:"+elem);
        });

        List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE");//获得对外暴露服务名称的id
        instances.forEach(instance ->{
            log.info(instance.getInstanceId()+"\t"+instance.getHost()+"\t"+instance.getPort()+"\t"+instance.getUri());
        });

        return discoveryClient;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在主启动类添加@EnableDiscoveryClient
在这里插入图片描述启动服务
去浏览器发送请求地址
在这里插入图片描述
去后台看一下打印输出日志
在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/963469
推荐阅读
相关标签
  

闽ICP备14008679号