赞
踩
对于注册进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; }
在主启动类添加@EnableDiscoveryClient
启动服务
去浏览器发送请求地址
去后台看一下打印输出日志
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。