springCloud(11)-consumer-获取providers信息-DiscoveryClient-@EnableDiscoveryClient
consumer可以通过provider提供的controller 是可以查到注册中心所有providers和providers的信息的。
1.provider 的controller 添加服务发现 用DiscoveryClient
2.provider 的主程序上添加 @EnableDiscoveryClient()
3.测试
1.provider 的controller 添加服务发现 用DiscoveryClient
@Resource
private DiscoveryClient discoveryClient;
@GetMapping(value = "/payment/discovery")
public Object discovery()
{
//1.获得的是eureka服务列表信息 如下图所示
List<String> services = discoveryClient.getServices();
for (String element : services) {
log.info("*****element: "+element);
}
//2. 得到payment8001 payment8002 两个微服务名称
// "CLOUD-PAYMENT-SERVICE" 是servicedId
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;
}

2.provider 的主程序上添加 @EnableDiscoveryClient()
@SpringBootApplication
@EnableEurekaClient
public class PaymentMain8001 {
public static void main(String[] args) {
SpringApplication.run(PaymentMain8001.class,args);
}
}
3.测试
1.启动provider8001,consumer 80服务 输入网址
2.添加日志,后台打印
如果出现则表示注册成功。

浙公网安备 33010602011771号