初步认识@EnableDiscoveryClient注解
这个注解的作用主要是将来可以把服务信息暴露给消费端,
- 服务ip、端口
- 服务名称

1 找到8001服务提供者,添加注解
- import org.springframework.cloud.client.discovery.DiscoveryClient;
- 注意,上面的包别导错

2 在8001服务的控制器中添加如下内容

@Resource
DiscoveryClient discoveryClient;
@GetMapping(value="/payment/discovery")
public Object discover(){
List<String> services = discoveryClient.getServices();
for (String service : services) {
log.info("****包含服务{}",service);
}
//这个方法的参数可以在Eureka服务注册列表找到,也可以在yml中,spring.application.name中找到
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 discoveryClient;
}
3 请求测试
- 浏览器
如下结果表示在Eureka服务器上注册了两个微服务
- cloud-payment-server
- cloud-order-server

- 控制台
结果显示了Cloud-payment-service是集群,打印了两台机器的信息
使用@EnableDiscoveryClient实现服务发现
本文介绍如何通过@EnableDiscoveryClient注解实现服务发现,详细解释了该注解的作用及其实现过程。包括如何在服务提供者中添加注解,如何在控制器中使用DiscoveryClient获取服务信息,并进行请求测试。

173万+

被折叠的 条评论
为什么被折叠?



