场景
SpringCloud中集成Eureka实现服务注册(单机Eureka构建):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/124688609
SpringCloud中集成Eureka实现集群部署服务注册与服务提供者:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/124710576
在上面实现服务注册单机与集群的基础上,怎样去进行服务发现。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
1、以服务提供者自己发现自己为例,找到服务提供者这里是8001的Controller
注入DiscoveryClient
@Resource private DiscoveryClient discoveryClient;
启动类添加注解
@EnableDiscoveryClient
然后新建一个get接口
@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; }
首先调用getServices获取所有的服务,然后还可以通过指定的服务别名来获取详细的主机的详细信息。
2、调用接口,查看接口返回信息

然后查看8001的控制台可以看到详细的输出

博客园:
https://www.cnblogs.com/badaoliumangqizhi/
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
浙公网安备 33010602011771号