SpringCloud中整合Eureka時通過Discovery實現服務發現
阿新 • • 發佈:2022-05-12
場景
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;
然後新建一個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的控制檯可以看到詳細的輸出