1. 程式人生 > >Spring Cloud Feign 1(聲明式服務調用Feign 簡介)

Spring Cloud Feign 1(聲明式服務調用Feign 簡介)

mvc info 定義 log con 通過 post loser 一個

Spring Cloud Feign基於Netflix Feign 同時整合了Spring Cloud Ribbon和Spring Cloud Hytrix,除了提供兩者的強大功能外,它還提供了一種聲明式的web服務客戶端定義方式。

在ribbon的例子中我們嘗試了使用RestTemplate來實現對依賴服務的接口調用,Spring Cloud Feign在此基礎上做封裝,由它來幫我們定義和實現依賴服務接口的定義。

首先新建一個工程命名為feign-consumer引入eureka和feign依賴

技術分享圖片

主類通過加入@EnableFeignClients註解開啟Feign的支持功能

技術分享圖片

定義helloservice 通過@FeignClient("hello-service")註解指定服務名來綁定服務

後再使用SpringMVC的註解來綁定具體該服務提供的REST接口

技術分享圖片

接著創建一個ConsumerController來實現對Feign客戶端的調用

技術分享圖片

application.properties配置如下

spring.application.name=feign-consumer
server.port=9002
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka

啟動項目測試,效果同ribbon客戶端負載一致

技術分享圖片

技術分享圖片

至此通過Spring Cloud Feign以聲明式的方法,優雅而簡單地實現了服務調用

Spring Cloud Feign 1(聲明式服務調用Feign 簡介)