服务发现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);
}
}