這圖不難理解:客服端調用服務端有兩種方式 ribbon + restTemplate 或 Openfeign;
可是:在咱們實際開發當中,每每 一個接口會被多處調用,因此一般都會針對每一個微服務自行封裝一些客服端類來包裝這些依賴服務的調用 ;因此,OpenFeign在此基礎上作了進一步封裝,由他來幫助咱們實現依賴服務接口的定義。
所以:須要咱們作的很是簡單,咱們只須要建立一個接口並使用註解的方式來配置他,便可完成對服務提供方的接口綁定。html
朋友你須要一個哪樣的網址嗎?git
官網:cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/#spring-cloud-openfeign
GitHub:https://github.com/spring-cloud/spring-cloud-openfeign github
我懶着建立項目了,就基於前面的項目幹吧,首先在客戶端spring-cloud-user中導入OpenFeign的包,這玩意包底層能夠支持OKHTTP的spring
<!--服務調用 openFeign包-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.2.3.RELEASE</version>
</dependency>
而後定義一個UserOpenFeign的接口,在接口的@FeignClient中寫上被調用的服務名稱,在接口中寫上被調用者的方法微服務
而後再寫一個UserOpenFeignController類用於等會測試玩測試
而後在啓動類上加上@EnableFeignClients註解網站
啓動兩個服務而後調用,結果也是同樣3d
多點幾回看兩個節點是否都被調用過,發現也被調用了rest
從上面結果咱們能夠看出OpenFeign是默認集成了Ribbon的code