亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Spring Cloud Feign組成配置過程解析

瀏覽:75日期:2023-09-18 16:08:51

Feign的組成

接口 作用 默認值 Feign.Builder Feign的入口 Feign.Builder Client Feign底層用什么去請求 和Ribbon配合時:LoadBalancerFeignClient 不和Ribbon配合時:Fgien.Client.Default Contract 契約,注解支持 SpringMVCContract Encoder 解碼器,用于將獨享轉換成HTTP請求消息體 SpringEncoder Decoder 編碼器,將相應消息體轉成對象 ResponseEntityDecoder Logger 日志管理器 Slf4jLogger RequestInterceptor 用于為每個請求添加通用邏輯(攔截器,例子:比如想給每個請求都帶上heared) 無

Feign的日記級別

日志級別 打印內容 NONE(默認) 不記錄任何日志 BASIC 僅記錄請求方法,URL,響應狀態代碼以及執行時間(適合生產環境) HEADERS 記錄BASIC級別的基礎上,記錄請求和響應的header FULL 記錄請求和弦ineader,body和元數據

首先如何整合Feign

遵循SpringBoot的三板斧第一步:加依賴

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

第二步:寫注解

@EnableFeignClients //在啟動類上加

第三步:寫配置

如何給Feign添加日志級別

細粒度

方式一:代碼實現第一步:添加Feign配置類,可以添加在主類下,但是不用添加@Configuration。如果添加了@Configuration而且又放在了主類之下,那么就會所有Feign客戶端實例共享,同Ribbon配置類一樣父子上下文加載沖突;如果一定添加@Configuration,就放在主類加載之外的包。建議還是不用加@Configuration。

public class FeignConfig { @Bean public Logger.Level Logger() { return Logger.Level.FULL; }}

第二步:給@FeignClient添加配置類

//@FeignClient configuration = GoodsFeignConfig.class 細粒度配置,指定配置類@FeignClient(name = 'goods', configuration = FeignConfig.class)

第四步:寫配置

logging: level: com.xxx.xxx.FeignAPI: DEBUG #需要將FeignClient接口全路徑寫上# 開啟日志 格式為logging.level. Feign客戶端路徑

方式二:配置屬性實現

feign: client: config: #想要調用的微服務名稱 server-1: loggerLevel: FULL

全局配置

方式一:代碼實現添加了@Configuration放在了主類之下,那么就會所有Feign客戶端實例共享,同Ribbon配置類一樣父子上下文加載沖突;讓父子上下文ComponentScan重疊(強烈不建議)唯一正確方式

//在啟動類上為@EnableFeignClients注解添加defaultConfiguration配置@EnableFeignClients(defaultConfiguration = FeignConfig.class)

方式二:配置屬性實現

feign: client: config: #將調用的微服務名稱改成default就配置成全局的了 default: loggerLevel: FULL

Feign支持的配置項

代碼方式

配置項 作用 Logger.Level 指定日志級別 Retryer 指定重試策略 ErrorDecoder 指定錯誤解碼器 Request.Options 超時時間 Collection 攔截器 SetterFactory 用于設置Hystrix的配置屬性,Fgien整合Hystrix才會用

配置屬性

feign: client: config: feignName: connectTimeout: 5000 # 相當于Request.Optionsn 連接超時時間 readTimeout: 5000 # 相當于Request.Options 讀取超時時間 loggerLevel: full # 配置Feign的日志級別,相當于代碼配置方式中的Logger errorDecoder: com.example.SimpleErrorDecoder # Feign的錯誤解碼器,相當于代碼配置方式中的ErrorDecoder retryer: com.example.SimpleRetryer # 配置重試,相當于代碼配置方式中的Retryer requestInterceptors: # 配置攔截器,相當于代碼配置方式中的RequestInterceptor - com.example.FooRequestInterceptor - com.example.BarRequestInterceptor # 是否對404錯誤解碼 decode404: false encode: com.example.SimpleEncoder decoder: com.example.SimpleDecoder contract: com.example.SimpleContract

Feign還支持對請求和響應進行GZIP壓縮,以提高通信效率,配置方式如下:

# 配置請求GZIP壓縮feign.compression.request.enabled=true# 配置響應GZIP壓縮feign.compression.response.enabled=true# 配置壓縮支持的MIME TYPEfeign.compression.request.mime-types=text/xml,application/xml,application/json# 配置壓縮數據大小的下限feign.compression.request.min-request-size=2048

Ribbon配置 VS Feign配置

粒度 Ribbon Feign 代碼局部 @RibbonClient(configuration=RibbonConfig.class),RibbonConfig類必須加@Configuration,且必須放在父上下文無法掃到的包下 @FeignClient(configuration=FeignConfig.class),FeignConfig類的@Configuration可以不加(可選),如果有,必須放在父上下文無法掃到的包下 代碼全局 @RibbonClients(defaultConfigurtion=RibbonConfig.class) @EnableFeignClients(defaultConfiguration = FeignConfig.class) ... 配置屬性局部 .ribbon.NFLoadBalancerClassName ... feign.client.config..loggerLevel ... 配置屬性全局 無 feign.client.config.default.loggerLevel

Feign 代碼方式 VS 配置屬性方式

配置方式 有點 缺點 代碼配置 基于代碼,更加靈活 如果Feign的配置類加了@Configuration注解,需注意父子上下文,線上修改需要重打包,發布 屬性配置 易上手 配置更加直觀 線上修改無需重新打包,發布 優先級更高 極端場景下沒有代碼配置更加靈活

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 欧美日本一区亚洲欧美一区 | 色综合精品久久久久久久 | 久久久精品免费观看 | 草草网| 日韩精品一区二区三区小说 | 97色涩 | 亚洲精品日韩在线一区 | 18成人免费观看网站入口 | 国产精品久久vr专区 | 国产精品区牛牛影院 | 国产蜜臀 | 玉米视频污 | 黄色大片在线视频 | 古代级a毛片可以免费看 | 国产精品嫩草影院99av视频 | 亚洲在线视频免费 | 国模沟沟一区二区三区 | 一级欧美一级日韩毛片99 | 国产成人啪精品午夜在线观看 | 精品国免费一区二区三区 | 中文字幕第一页在线视频 | 在线中文字幕日韩 | 久久99国产亚洲精品 | 欧美福利一区二区三区 | 国产主播在线看 | 视频在线观看rrr在线观看 | 婷婷国产在线 | 亚洲欧美国产精品久久久 | 内地精品露脸自拍视频香蕉 | 久久香蕉国产线看免费 | 午夜婷婷网 | 亚洲经典在线 | 亚洲人成影院午夜网站 | 在线观看一区二区三区视频 | 久草资源在线播放 | 国产制服 国产制服一区二区 | 亚洲欧美成人综合在线 | 玖玖爱视频在线观看 | 1300部小u女视频免费 | 国产情趣酒店鸳鸯浴在线观看 | 国产欧美日韩综合精品一区二区 |