SpringCloud的EurekaClient : 客戶端應用訪問注冊的微服務(無斷路器場景)


演示客戶端應用如何訪問注冊在EurekaServer里的微服務

一、概念和定義

采用Ribbon或Feign方式訪問注冊到EurekaServer中的微服務。
1、Ribbon實現了客戶端負載均衡,
2、Feign底層調用Ribbon
3、注冊在EurekaServer中的微服務api,不通過ip訪問,而是通過ServiceId訪問
其中ServiceId即配置項spring.application.name標識的注冊到EurekaServer中的名稱。
使用Feign/Ribbon客戶端訪問微服務的api,如:
http://ServiceHelloA/HelloA?name=tom
http://ServiceHelloB/HelloB?name=Jerry
說明客戶端負載均衡Ribbon解釋了ServiceHelloA映射的ip+端口.

二、開發案例

1、Ribbon服務代碼
@Service
public class HelloARibbonService {

@Autowired
RestTemplate restTemplate;

public String visitHelloA(String name) {
return restTemplate.getForObject("http://SERVICEHELLOA/HelloA?name="+name,String.class);
}

}

2、Feign服務代碼
@FeignClient(value = "SERVICEHELLOA")
public interface HelloAFeignService {

@RequestMapping(value = "/HelloA",method = RequestMethod.GET)
String visitHelloA(@RequestParam(value = "name") String name);

}

三、案例說明

1、通過Ribbon訪問HelloA

http://localhost:8301/HelloARibbon?name=lexiaofei

2、通過Feign訪問HelloA

http://localhost:8321/HelloAFeign?name=liangshengqi

發現服務端調用是在8201 和 8202之間負載均衡的。

四、代碼下載

https://github.com/lexiaofei/workspace_SpringRibbonFeign.git


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM