91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

四子王旗| 友谊县| 霍城县| 建德市| 翼城县| 贞丰县| 衡阳市| 广宗县| 江油市| 汾阳市| 高唐县| 南丹县| 山阴县| 兴化市| 来凤县| 南宁市| 区。| 石嘴山市| 房山区| 永年县| 四平市| 西乌珠穆沁旗| 青阳县| 临清市| 缙云县| 德安县| 黄骅市| 库尔勒市| 吉木萨尔县| 疏勒县| 长沙县| 文成县| 拉孜县| 嘉禾县| 湾仔区| 华安县| 甘孜县| 和龙市| 盐津县| 宜兰市| 溧阳市|