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

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

Spring Cloud 系列之服務調用 OpenFeign的實現

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

1.1 簡介

1.1.1 概述

  Feign 旨在使編寫 Java Http 客戶端變得更容易。在使用 Ribbon + RestTemplate 時,利用 RestTemplate 對 http 請求的封裝處理,形成了一套模版化的調用方法。但是在實際開發中,由于對服務依賴的調用可能不止一處,往往一個接口會被多處調用,所以通常都會針對每個微服務自行封裝一些客戶端類來包裝這些依賴服務的調用。所以,Feign 在 Ribbon 基礎上做了進一步封裝,由他來幫助我們定義和實現依賴服務接口的定義。在 Feign 的實現下,我們只需創建一個接口并使用注解的方式來配置它,即可完成對服務提供方的接口綁定,簡化了使用 Spring cloud Ribbon 時,自動封裝服務調用客戶端的開發量。與 Ribbon 不同的是,通過 Feign 只需要定義服務綁定接口且以聲明式的方法,優雅而簡單的實現了服務調用  Feign 已經停止維護,OpenFeign 是 Spring Cloud 在 Feign 的基礎上進一步開發出來替代 Feign 的技術,支持了 SpringMVC 的注解,如 @RequesMapping 等等。OpenFeign 的 @FeignClient 可以解析 SpringMVC 的 @RequestMapping 注解下的接口,并通過動態代理的方式產生實現類,實現類中做負載均衡并調用其他服務。

1.1.2 相關依賴

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

1.2 簡單使用

1.2.1 基礎工程

☞ eureka 項目

1.2.2 Feign 客戶端

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

1.2.3 啟動類

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

1.2.4 調用服務

  我們可以發現 Feign 自帶負載均衡配置,而 OpenFeign 默認支持 Ribbon,我們可以通過 Ribbon 的配置來修改負載均衡策略。Ribbon 詳情參考 ☞ Spring Cloud 系列之負載均衡 Ribbon

Spring Cloud 系列之服務調用 OpenFeign的實現

1.3 其他配置

1.3.1 超時控制

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

1.3.2 數據壓縮

feign: compression: request: # 開啟數據壓縮請求 enabled: true # 壓縮數據類型 mime-types: text/xml, application/xml, application/json # 數據壓縮下限 2048表示傳輸數據大于2048 才會進行數據壓縮(最小壓縮值標準) min-request-size: 2048 # 開啟數據壓縮響應 response: enabled: true

1.3.3 日志配置

☞ 日志級別

 ♞ NONE:不開啟日志(默認) ♞ BASIC:記錄請求方法、URL、響應狀態、執行時間 ♞ HEADERS:在 BASIC 基礎上增加請求/響應頭 ♞ FULL:在 HEADERS 基礎上增加 body 和請求元數據

☞ 配置類

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

☞ 配置文件

logging: level: # 以什么級別監控那個接口 com.software.controller: debug

☞ 輸出

Spring Cloud 系列之服務調用 OpenFeign的實現

☞ 源碼

到此這篇關于Spring Cloud 系列之服務調用 OpenFeign的實現的文章就介紹到這了,更多相關Spring Cloud服務調用 OpenFeign內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 9191精品国产免费不久久 | 国产一区中文字幕在线观看 | 特黄特色大片免费 | 欧美日韩中出 | 99精品网站 | 日本韩国欧美一区 | 99爱视频精品免视看 | 亚洲欧美中文v日韩v在线 | 深夜释放自己黄瓜视频 | 国产午夜精品理论片久久影视 | 韩国xxxxxxxx69 | 羞羞色院91| 欧美午夜一艳片欧美精品 | 国产欧美在线视频 | 久99久爱精品免费观看视频 | 久久福利一区二区三区 | 日韩免费视频 | 在线视频欧美日韩 | 国产亚洲精品高清在线 | 视频一区二区三区免费观看 | 国产大伊香蕉精品视频 | 一级国产仑乱 | 俄罗斯小屁孩cao大人免费 | 最新在线黄色网址 | 日本理论在线观看被窝网 | 日韩不卡一区二区 | 国产不卡一卡2卡三卡4卡5卡在线 | 日韩欧美在线综合网 | 关婷哪一级毛片高清免费看 | 国产成人亚洲综合无 | 高h喷水荡肉爽文各种场合 高h辣肉各种姿势爽文bl | 免费在线看黄的网站 | 亚洲视频在线精品 | 黄色一极毛片 | 国产欧美日韩一区二区三区 | 国产精品日本欧美一区二区 | 免费观看情趣v视频网站 | 亚洲综合久久1区2区3区 | 国产精品人体私拍99pans | 亚洲精品女同一区二区三区 | 91极品视频|