中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenFeign如何使用

發布時間:2022-01-12 09:07:42 來源:億速云 閱讀:226 作者:iii 欄目:云計算

這篇文章主要介紹了OpenFeign如何使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇OpenFeign如何使用文章都會有所收獲,下面我們一起來看看吧。

OpenFeign基本使用

OpenFeign簡介

OpenFeign是一個聲明式的http客戶端,讓編寫web服務客戶端變的非常容易,只需要創建一個接口并在接口上添加注解即可,OpenFeign的前身是Feign,后者目前已經停更了,OpenFeign是SpringCloud在Feign的基礎上支持了Spring MVC的注解,并通過動態代理的方式產生實現類來做負載均衡并進行調用其他服務。

Ribbon+RestTemplate過于繁瑣,通過OpenFeign可以簡化開發

基本使用

以用戶服務調用商品為例

用戶服務配置 OpenFeign

  1. 導入依賴

    <dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-openfeign</artifactId>
    		</dependency>


  2. 啟動類上加注解

    OpenFeign如何使用

在商品服務中寫被調用接口(無參接口測試)

OpenFeign如何使用

在用戶服務中 直接使用Feign寫服務調用

  1. 創建一個普通的Java接口

    OpenFeign如何使用

  2. 通過注解聲明當前接口為 Feign的客戶端

    OpenFeign如何使用

  3. 在Feign接口中 寫服務調用的方法

    OpenFeign如何使用

  4. 在用戶服務的Controller中使用Feign接口

    OpenFeign如何使用

  5. 啟動所有服務 兩個商品服務 一個用戶服務 注冊中心 訪問用戶服務觀察服務調用

    訪問用戶服務的Controller 可以看到負載均衡的效果

    OpenFeign如何使用

    OpenFeign如何使用

  6. 流程

    OpenFeign如何使用

關于傳遞參數的處理

參數傳遞都是json 實際上是RestFul的請求

  1. /{} 拼接參數

    1. 被調用接口示例【商品服務】

      OpenFeign如何使用

    2. Feign接口示例【用戶服務】

      OpenFeign如何使用

  2. ?拼接參數 對應常見請求類型Get請求

    1. 被調用接口示例【商品服務】

      OpenFeign如何使用

    2. Feign接口示例【用戶服務】

      OpenFeign如何使用

  3. 請求體傳遞參數 對應常見請求Post請求

    1. 被調用接口示例【商品服務】

      OpenFeign如何使用

    2. Feign接口示例【用戶服務】

      OpenFeign如何使用

開啟日志

Feign 和 RestTemplate 不一樣 ,對請求細節封裝的更加徹底,不管是請求還是請求的參數,還是響應的狀態都看不到,想要看到請求的細節需要通過Feign的日志

Feign日志的配置

1.配置類 @Bean

OpenFeign如何使用

[@Bean](https://my.oschina.net/bean)
public Logger.Level feignConfig(){
    return Logger.Level.FULL;
}

2.在配置文件中開啟Feign接口所在包的日志

OpenFeign如何使用

通過以上配置 重啟項目 再次使用Feign服務調用 就會看到如下日志:

OpenFeign如何使用

OpenFeign如何使用

Feign參數調優

1. 替換OKHttp

在默認情況下 spring cloud feign在進行各個子服務之間的調用時,http組件使用的是jdk的HttpURLConnection,沒有使用線程池。

有2種可選的線程池:HttpClient和OKHttp,比較推薦OKHttp,請求封裝的非常簡單易用,性能也很ok。

添加依賴

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
</dependency>

修改配置文件

feign:
  okhttp:
    enabled: true
  httpclient:
    enabled: false
    max-connections: 1000
    max-connections-per-route: 100

max-connections:最大連接數

max-connections-per-route:每個url的連接數

2. 開啟Feign請求響應壓縮

開啟壓縮可以有效節約網絡資源,但是會增加CPU壓力,建議把最小壓縮的文檔大小適度調大一點

## 開啟Feign請求響應壓縮
feign.compression.request.enabled=true

feign.compression.response.enabled=true
## 配置壓縮文檔類型及最小壓縮的文檔大小
feign.compression.request.mime-types=text/xml,application/xml,application/json

feign.compression.request.min-request-size=2048

關于“OpenFeign如何使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“OpenFeign如何使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

景谷| 芦溪县| 鱼台县| 彩票| 精河县| 福海县| 简阳市| 郴州市| 合肥市| 涞水县| 美姑县| 定陶县| 昌吉市| 民县| 赤水市| 枞阳县| 屯昌县| 新建县| 峨眉山市| 巴彦县| 莒南县| 中江县| 六盘水市| 专栏| 安西县| 屯门区| 遵义县| 曲松县| 修文县| 安阳市| 紫金县| 横峰县| 汾西县| 收藏| 江安县| 怀化市| 平湖市| 读书| 梁平县| 枣强县| 东兴市|