Feign消費服務(三)

Feign 是一個聲明式的 Web Service 客戶端,它的目的就是讓 Web Service 調用更加簡單。它整合了 Ribbon 和 Hystrix,從而讓我們不再需要顯式地使用這兩個組件。Feign 還提供了 HTTP 請求的模板,通過編寫簡單的接口和插入註解,我們就可以定義好 HTTP 請求的參數、格式、地址等信息。Feign 會完全代理 HTTP 的請求,我們只需要像調用方法一樣調用它就可以完成服務請求。

Feign 具有如下特性:

  • 可插拔的註解支持,包括 Feign 註解和 JAX-RS 註解
  • 支持可插拔的 HTTP 編碼器和解碼器
  • 支持 Hystrix 和它的 Fallback
  • 支持 Ribbon 的負載均衡
  • 支持 HTTP 請求和響應的壓縮

使用Feign消費服務(基於之前Eureka的服務註冊中心):

1.創建服務,添加依賴和配置文件

主要依賴:client,web和openfeign

添加配置文件(端口7005,服務名:service-feign):

2.註解開啓Feign的功能

主要註解@EnableFeignClients開啓Feign的功能。

3.啓動並測試

添加一個接口,@FeignClient表示要調用的服務(eureka-producer)

添加controller調用service接口

啓動服務並訪問(http:localhost/7005/helloFeign?name=feign):​​​​​​​

可以看到服務註冊中心的服務:​​​​​​​

多次刷新瀏覽器訪問,可以看到後臺控制檯打印記錄,輪詢訪問端口7001和7002的服務,

也達到了遠程服務調用和負載均衡的效果(同restTemplate+Ribbon的效果)

 

源碼地址:https://github.com/wxkhz/springcloud

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章