日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Cloud Alibaba - 14 OpenFeign自定义配置 + 调用优化 + 超时时间

發(fā)布時(shí)間:2025/3/21 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Cloud Alibaba - 14 OpenFeign自定义配置 + 调用优化 + 超时时间 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 打印Feign調(diào)用日志
    • 日志級(jí)別
    • 三部曲
      • step1 添加Feign的自定義配置
      • step2 聲明式接口指定配置
      • Step3 聲明式接口包日志級(jí)別調(diào)整為DEBUG
    • 驗(yàn)證
  • 基于yml文件細(xì)粒度配置日志
    • 調(diào)用方配置yml
    • 驗(yàn)證
  • 使用Feign原生的注解配置
  • 攔截器的應(yīng)用配置
  • Feign調(diào)用優(yōu)化方案
    • Step 1 開啟連接池配置
    • Step 2 調(diào)整Feign的日志級(jí)別(強(qiáng)烈推薦使用Basic級(jí)別的)
  • Feign的生產(chǎn)實(shí)踐 (Feign的超時(shí)為準(zhǔn))
    • 服務(wù)方模擬響應(yīng)過長(zhǎng)
    • 超時(shí)設(shè)置
    • 驗(yàn)證
  • 源碼


打印Feign調(diào)用日志

默認(rèn)情況下,Feign的調(diào)用式不打印日志,我們需要通過自定義來打印我們的Feign的日志, 生產(chǎn)環(huán)境推薦basic

日志級(jí)別

級(jí)別輸出內(nèi)容
NONE(默認(rèn))不記錄任何信息
BASIC僅記錄請(qǐng)求方法、URL、響應(yīng)狀態(tài)和執(zhí)行時(shí)間
HEADERS在BASIC基礎(chǔ)上,記錄請(qǐng)求和響應(yīng)的HEADER
FULL記錄請(qǐng)求和響應(yīng)的HEADER、BODY和元數(shù)據(jù)

三部曲

step1 添加Feign的自定義配置

子模塊 artisan-feign-api 增加 配置

import feign.Logger; import org.springframework.context.annotation.Bean;/*** @author 小工匠* @version 1.0* @description: 千萬不要添加@Configuration,不然會(huì)被作為全局配置文件共享* @date 2022/2/3 22:19* @mark: show me the code , change the world*/public class ProductCenterFeignConfig {@Beanpublic Logger.Level level(){return Logger.Level.BASIC;} }

千萬不要添加@Configuration,不然會(huì)被作為全局配置文件共享


step2 聲明式接口指定配置

子模塊 artisan-feign-api

Step3 聲明式接口包日志級(jí)別調(diào)整為DEBUG

接口調(diào)用方 artisan-cloud-feign-order 的 application.yml

# 子模塊下的聲明式接口包 日志級(jí)別必須是debug ,不然不打印日志 logging:level:com:artisan:feignapi: debug


驗(yàn)證

啟動(dòng)兩個(gè)服務(wù),訪問 http://localhost:8080/selectOrderInfoById/1

觀察order的日志


基于yml文件細(xì)粒度配置日志

調(diào)用方配置yml

在調(diào)用方artisan-cloud-feign-order ,通過feign:client:config:微服務(wù)名稱:loggerLevel: 日志級(jí)別來指定

# 基于yml文件細(xì)粒度配置 - 通過feign:client:config:微服務(wù)名稱:loggerLevel日志級(jí)別來指定 feign:client:config:artisan-product-center:loggerLevel: full

支持配置多個(gè)

我們?cè)賮韨€(gè) artisan-cloud-feign-pay 服務(wù)驗(yàn)證下


驗(yàn)證

啟動(dòng)服務(wù),分別訪問接口,觀察日志


使用Feign原生的注解配置

根據(jù)自動(dòng)裝配我們FeignClients的配置中的默認(rèn)鍥約是springmvc , 如果需要修改的話,修改契約即可(使用Feign原生的API)

用的較少, 這里就不演示了。


攔截器的應(yīng)用配置

Spring Cloud Alibaba - 15 微服務(wù)之間使用Feign實(shí)現(xiàn)參數(shù)的透?jìng)?/p>


Feign調(diào)用優(yōu)化方案

Step 1 開啟連接池配置

Step 2 調(diào)整Feign的日志級(jí)別(強(qiáng)烈推薦使用Basic級(jí)別的)

方法見上文


Feign的生產(chǎn)實(shí)踐 (Feign的超時(shí)為準(zhǔn))

Feign的底層用的是Ribbon,那么我們?cè)趺磁渲贸瑫r(shí)時(shí)間呢?

我們來測(cè)試下

服務(wù)方模擬響應(yīng)過長(zhǎng)


超時(shí)設(shè)置


驗(yàn)證

那如果我們換一下呢 (Ribbon 設(shè)置 5秒, Feign設(shè)置2秒 , Product仍然休眠3秒) 。看下什么情況

測(cè)試一下看看呢


源碼

https://github.com/yangshangwei/SpringCloudAlibabMaster

總結(jié)

以上是生活随笔為你收集整理的Spring Cloud Alibaba - 14 OpenFeign自定义配置 + 调用优化 + 超时时间的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。