註冊到 Eureka Server 的各個微服務之間可以通過 SpringCloud 自帶的組件實現服務之間的調用
Ribbon 方式調用
Ribbon 是一個客戶端負載均衡器,可以很好的控制 HTTP 和 TCP 客戶端的行爲
-
XXXApplication.java 中完成注入,並標記 @LoadBalanced 開啓負載均衡的功能
-
XXXController.java 中通過 RestTemplate 調用服務接口,與常見的 RestTemplate 不同的是,調用使用的不再是 ip + port,而是服務名。這是通過註冊中心(Eureka Server)實現的。
Feign 方式調用
Feign 可以實現聲明式的 Web 服務客戶端
-
通過 @FeignClient 指定調用的服務名稱
-
在接口上聲明 @RequestMapping 指明調用服務的地址與請求類型
-
通過在 @FeignClient 中配置 fallback 指定熔斷
-
實現接口:XXXClient.java,熔斷:XXXClientHystrix.java