色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Spring Cloud 系列之服務(wù)調(diào)用 OpenFeign的實(shí)現(xiàn)

瀏覽:4日期:2023-08-04 08:59:07

1.1 簡(jiǎn)介

1.1.1 概述

  Feign 旨在使編寫 Java Http 客戶端變得更容易。在使用 Ribbon + RestTemplate 時(shí),利用 RestTemplate 對(duì) http 請(qǐng)求的封裝處理,形成了一套模版化的調(diào)用方法。但是在實(shí)際開發(fā)中,由于對(duì)服務(wù)依賴的調(diào)用可能不止一處,往往一個(gè)接口會(huì)被多處調(diào)用,所以通常都會(huì)針對(duì)每個(gè)微服務(wù)自行封裝一些客戶端類來(lái)包裝這些依賴服務(wù)的調(diào)用。所以,F(xiàn)eign 在 Ribbon 基礎(chǔ)上做了進(jìn)一步封裝,由他來(lái)幫助我們定義和實(shí)現(xiàn)依賴服務(wù)接口的定義。在 Feign 的實(shí)現(xiàn)下,我們只需創(chuàng)建一個(gè)接口并使用注解的方式來(lái)配置它,即可完成對(duì)服務(wù)提供方的接口綁定,簡(jiǎn)化了使用 Spring cloud Ribbon 時(shí),自動(dòng)封裝服務(wù)調(diào)用客戶端的開發(fā)量。與 Ribbon 不同的是,通過(guò) Feign 只需要定義服務(wù)綁定接口且以聲明式的方法,優(yōu)雅而簡(jiǎn)單的實(shí)現(xiàn)了服務(wù)調(diào)用  Feign 已經(jīng)停止維護(hù),OpenFeign 是 Spring Cloud 在 Feign 的基礎(chǔ)上進(jìn)一步開發(fā)出來(lái)替代 Feign 的技術(shù),支持了 SpringMVC 的注解,如 @RequesMapping 等等。OpenFeign 的 @FeignClient 可以解析 SpringMVC 的 @RequestMapping 注解下的接口,并通過(guò)動(dòng)態(tài)代理的方式產(chǎn)生實(shí)現(xiàn)類,實(shí)現(xiàn)類中做負(fù)載均衡并調(diào)用其他服務(wù)。

1.1.2 相關(guān)依賴

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

1.2 簡(jiǎn)單使用

1.2.1 基礎(chǔ)工程

☞ eureka 項(xiàng)目

1.2.2 Feign 客戶端

/** * Created with IntelliJ IDEA. * * @author Demo_Null * @date 2020/11/5 * @description Feign 接口 */@Component@FeignClient('ProviderServer')// 服務(wù)提者名稱public interface ProviderFeign { @GetMapping('/provider/get')// 服務(wù)地址 public String get();}

1.2.3 啟動(dòng)類

@SpringBootApplication@EnableFeignClientspublic class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); }}

1.2.4 調(diào)用服務(wù)

  我們可以發(fā)現(xiàn) Feign 自帶負(fù)載均衡配置,而 OpenFeign 默認(rèn)支持 Ribbon,我們可以通過(guò) Ribbon 的配置來(lái)修改負(fù)載均衡策略。Ribbon 詳情參考 ☞ Spring Cloud 系列之負(fù)載均衡 Ribbon

Spring Cloud 系列之服務(wù)調(diào)用 OpenFeign的實(shí)現(xiàn)

1.3 其他配置

1.3.1 超時(shí)控制

# 設(shè)置 feign 客戶端超時(shí)時(shí)間, 默認(rèn) 1sfeign: client: config: default: connectTimeout: 5000 readTimeout: 5000# OpenFeign 默認(rèn)支持 Ribbon,也可以使用以下配置ribbon: # 建立連接所用時(shí)間,適用于網(wǎng)絡(luò)正常的情況下,兩端連接所用的時(shí)間 ConnectTimeout: 5000 # 建立連接后從服務(wù)器讀取到可用資源所用的時(shí)間 ReadTimeout: 5000

1.3.2 數(shù)據(jù)壓縮

feign: compression: request: # 開啟數(shù)據(jù)壓縮請(qǐng)求 enabled: true # 壓縮數(shù)據(jù)類型 mime-types: text/xml, application/xml, application/json # 數(shù)據(jù)壓縮下限 2048表示傳輸數(shù)據(jù)大于2048 才會(huì)進(jìn)行數(shù)據(jù)壓縮(最小壓縮值標(biāo)準(zhǔn)) min-request-size: 2048 # 開啟數(shù)據(jù)壓縮響應(yīng) response: enabled: true

1.3.3 日志配置

☞ 日志級(jí)別

 ♞ NONE:不開啟日志(默認(rèn)) ♞ BASIC:記錄請(qǐng)求方法、URL、響應(yīng)狀態(tài)、執(zhí)行時(shí)間 ♞ HEADERS:在 BASIC 基礎(chǔ)上增加請(qǐng)求/響應(yīng)頭 ♞ FULL:在 HEADERS 基礎(chǔ)上增加 body 和請(qǐng)求元數(shù)據(jù)

☞ 配置類

@Configurationpublic class LogConfig { @Bean Logger.Level loggerLevel(){ return Logger.Level.FULL; }}

☞ 配置文件

logging: level: # 以什么級(jí)別監(jiān)控那個(gè)接口 com.software.controller: debug

☞ 輸出

Spring Cloud 系列之服務(wù)調(diào)用 OpenFeign的實(shí)現(xiàn)

☞ 源碼

到此這篇關(guān)于Spring Cloud 系列之服務(wù)調(diào)用 OpenFeign的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Spring Cloud服務(wù)調(diào)用 OpenFeign內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 123成人网| 澳门毛片免费观看 | 99久久精品毛片免费播放 | 久久久久一区二区三区 | 自拍小视频在线观看 | 国产一区二区三区在线观看影院 | 中国美女一级片 | 91精品国产91久久久久青草 | 久久国产精品自线拍免费 | 国产精品成人免费视频不卡 | 国产一区二区三区四区在线 | 日本一线一区二区三区免费视频 | 国产精品久久久久久福利漫画 | 99久久国产综合精品五月天 | 伊人久久精品午夜 | 韩国自拍偷自拍亚洲精品 | 成人精品一区二区激情 | 极品美女户外勾搭无套 | 成人免费在线视频网 | 日韩精品中文字幕一区三区 | 欧美高清另类自拍视频在线看 | 亚洲精品色综合色在线观看 | 久久免费精品国产72精品剧情 | 亚洲高清毛片 | 亚洲黄色成人 | 国产伦理自拍 | 日本加勒比在线观看 | 亚洲tv成人天堂在线播放 | a级特黄毛片免费观看 | 亚洲综合精品 | 19+韩国主播青草vip视频 | 久草在线国产 | 免费特黄一级欧美大片 | 国产高清自拍 | 亚洲成a人片在线观看中文 亚洲成a人片在线观看中文!!! | 狼人总合狼人综合 | 欧美日韩一区二区三区视频在线观看 | 国产91精选在线观看网站 | 欧美日韩国产亚洲综合不卡 | 国产一久久香蕉国产线看观看 | 亚洲国产精品线播放 |