前提:对于注册进eureka里面的微服务,可以通过服务发现来获得该服务的信息
(1) 在8001的启动类上面增加注解@EnableDiscoveryClient
(2) 修改cloud-provider-payment8001的Controller
@Resource
private DiscoveryClient discoveryClient;
@GetMapping(value = "/payment/discovery")
public Object discovery(){
List<String> services = discoveryClient.getServices();
for (String element : services) {
log.info("***** element:"+element);
}
List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE");
for (ServiceInstance instance : instances) {
log.info(instance.getServiceId()+"\t"+instance.getHost()+"\t"+instance.getPort()+"\t"+instance.getUri());
}
return this.discoveryClient;
}
(3) 先要启动EurekaServer,7001/7002服务,再启动8001主启动类,需要稍等一会,在浏览器执行http://localhost:8001/payment/discovery,返回注册的服务信息