Feign的配置
從Spring Cloud Edgware開始,Feign支持使用屬性自定義Feign。對於一個指定名稱的Feign
Client(例如該Feign Client的名稱為 feignName ),Feign支持如下配置項:
feignName:FeginClient的名稱
connectTimeout : 建立鏈接的超時時長
readTimeout : 讀取超時時長
loggerLevel: Fegin的日志級別
errorDecoder :Feign的錯誤解碼器
retryer : 配置重試
requestInterceptors : 添加請求攔截器
decode404 : 配置熔斷不處理404異常
請求壓縮
Spring Cloud Feign 支持對請求和響應進行GZIP壓縮,以減少通信過程中的性能損耗。通過下面的參數
即可開啟請求與響應的壓縮功能:
同時,我們也可以對請求的數據類型,以及觸發壓縮的大小下限進行設置:
注:上面的數據類型、壓縮大小下限均為默認值。
日志級別
在開發或者運行階段往往希望看到Feign請求過程的日志記錄,默認情況下Feign的日志是沒有開啟的。
要想用屬性配置方式來達到日志效果,只需在 application.yml 中添加如下內容即可:
feign:
client:
config:
service-product:
readTimeout: 6000
connectTimeout: 6000
loggerLevel: FULL
#配置feign日志的輸出
#日志配置 NONE : 不輸出日志(高) BASIC: 適用於生產環境追蹤問題
#HEADERS : 在BASIC的基礎上,記錄請求和響應頭信息 FULL : 記錄所有
logging:
level:
com.topcheer.order.feign.ProductFeignClient: debug
NONE【性能最佳,適用於生產】:不記錄任何日志(默認值)
BASIC【適用於生產環境追蹤問題】:僅記錄請求方法、URL、響應狀態代碼以及執行時間
HEADERS:記錄BASIC級別的基礎上,記錄請求和響應的header。
FULL【比較適用於開發及測試環境定位問題】:記錄請求和響應的header、body和元數據。