最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年11月06日 09:45:55   作者:Demo_Null  
這篇文章主要介紹了Spring Cloud 系列之服務(wù)調(diào)用 OpenFeign的實現(xiàn),需要的朋友可以參考下

1.1 簡介

 1.1.1 概述

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

1.2.1 基礎(chǔ)工程

eureka 項目

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 啟動類

@SpringBootApplication
@EnableFeignClients
public 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,我們可以通過 Ribbon 的配置來修改負(fù)載均衡策略。Ribbon 詳情參考 ☞Spring Cloud 系列之負(fù)載均衡 Ribbon

在這里插入圖片描述

1.3 其他配置

 1.3.1 超時控制

# 設(shè)置 feign 客戶端超時時間, 默認(rèn) 1s
feign:
 client:
 config:
 default:
 connectTimeout: 5000
 readTimeout: 5000


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

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

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

1.3.3 日志配置

☞ 日志級別

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

☞ 配置類

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

☞ 配置文件

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

☞ 輸出

在這里插入圖片描述


☞ 源碼

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

相關(guān)文章

  • 一文讓你徹底明白Java中的值傳遞和引用傳遞

    一文讓你徹底明白Java中的值傳遞和引用傳遞

    這篇文章主要給大家介紹了關(guān)于Java中值傳遞和引用傳遞的相關(guān)資料,值傳遞是指在調(diào)用函數(shù)時將實際參數(shù)復(fù)制一份傳遞到函數(shù)中,引用傳遞是指在調(diào)用函數(shù)時將實際參數(shù)的引用直接傳遞到函數(shù)中,需要的朋友可以參考下
    2023-10-10
  • spring@value注入配置文件值失敗的原因分析

    spring@value注入配置文件值失敗的原因分析

    這篇文章主要介紹了spring@value注入配置文件值失敗的原因分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • SWT(JFace)體驗之Slider,Scale

    SWT(JFace)體驗之Slider,Scale

    SWT(JFace)體驗之Slider,Scale實現(xiàn)代碼。
    2009-06-06
  • java用arraycopy實現(xiàn)多擊事件

    java用arraycopy實現(xiàn)多擊事件

    這篇文章主要介紹了java用arraycopy實現(xiàn)多擊事件的多種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • SpringBoot2整合Ehcache組件實現(xiàn)輕量級緩存管理

    SpringBoot2整合Ehcache組件實現(xiàn)輕量級緩存管理

    EhCache是一個純Java的進程內(nèi)緩存框架,具有快速、上手簡單等特點,是Hibernate中默認(rèn)的緩存提供方。本文講述下SpringBoot2 整合Ehcache組件的步驟
    2021-06-06
  • Freemaker Replace函數(shù)的正則表達式運用

    Freemaker Replace函數(shù)的正則表達式運用

    這篇文章主要介紹了Freemaker Replace函數(shù)的正則表達式運用 的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • Java模擬實現(xiàn)HashMap算法流程詳解

    Java模擬實現(xiàn)HashMap算法流程詳解

    在java開發(fā)中,HashMap是最常用、最常見的集合容器類之一,文中通過示例代碼介紹HashMap為啥要二次Hash,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-02-02
  • Mybatis注解方式@Insert的用法

    Mybatis注解方式@Insert的用法

    這篇文章主要介紹了Mybatis注解方式@Insert的用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • SpringMVC KindEditor在線編輯器之文件上傳代碼實例

    SpringMVC KindEditor在線編輯器之文件上傳代碼實例

    這篇文章主要介紹了SpringMVC KindEditor在線編輯器之文件上傳代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Java中LambdaQueryWrapper的常用方法詳解

    Java中LambdaQueryWrapper的常用方法詳解

    這篇文章主要給大家介紹了關(guān)于Java中LambdaQueryWrapper常用方法的相關(guān)資料,lambdaquerywrapper是一個Java庫,用于構(gòu)建類型安全的Lambda表達式查詢,需要的朋友可以參考下
    2023-11-11

最新評論

昭平县| 泽普县| 杭锦后旗| 绍兴市| 大邑县| 东明县| 克拉玛依市| 灵武市| 孝义市| 峨边| 马龙县| 犍为县| 济源市| 饶阳县| 开阳县| 二连浩特市| 东阿县| 班戈县| 临颍县| 河曲县| 东丰县| 云浮市| 那曲县| 洪泽县| 孝昌县| 华池县| 湘乡市| 昭平县| 溧水县| 无极县| 定边县| 宁明县| 石门县| 阿尔山市| 闽清县| 定兴县| 邻水| 蓝山县| 平谷区| 项城市| 丹巴县|