亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

1.1 簡介

 1.1.1 概述

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

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 才會進(jìn)行數(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的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Spring Cloud服務(wù)調(diào)用 OpenFeign內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于springboot處理date參數(shù)過程解析

    基于springboot處理date參數(shù)過程解析

    這篇文章主要介紹了基于springboot處理date參數(shù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 三種Spring BeanName生成器,你了解嗎

    三種Spring BeanName生成器,你了解嗎

    無論我們是通過 XML 文件,還是 Java 代碼,亦或是包掃描的方式去注冊 Bean,都可以不設(shè)置BeanName,而Spring均會為之提供默認(rèn)的 beanName,本文我們就來看看 Spring 中三種處理不同情況的 beanName生成器吧
    2023-09-09
  • 使用IDEA創(chuàng)建servlet?JavaWeb?應(yīng)用及使用Tomcat本地部署的實(shí)現(xiàn)

    使用IDEA創(chuàng)建servlet?JavaWeb?應(yīng)用及使用Tomcat本地部署的實(shí)現(xiàn)

    本文主要介紹了使用IDEA創(chuàng)建servlet?JavaWeb?應(yīng)用及使用Tomcat本地部署
    2022-01-01
  • 如何使用Java實(shí)現(xiàn)指定概率的抽獎

    如何使用Java實(shí)現(xiàn)指定概率的抽獎

    這篇文章主要給大家介紹了關(guān)于如何使用Java實(shí)現(xiàn)指定概率的抽獎的相關(guān)資料,Java抽獎程序的基本原理是通過隨機(jī)數(shù)生成器來實(shí)現(xiàn)隨機(jī)抽獎的功能,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Java中HTTP GET方法調(diào)用帶有body的問題解決

    Java中HTTP GET方法調(diào)用帶有body的問題解決

    這篇文章主要為大家詳細(xì)介紹了Java如何解決HTTP GET方法調(diào)用帶有body的問題,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下
    2024-02-02
  • Java dbcp連接池基本使用方法詳解

    Java dbcp連接池基本使用方法詳解

    這篇文章主要介紹了Java dbcp連接池基本使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • SpringBoot整合Quartz實(shí)現(xiàn)動態(tài)配置的代碼示例

    SpringBoot整合Quartz實(shí)現(xiàn)動態(tài)配置的代碼示例

    這篇文章將介紹如何把Quartz定時任務(wù)做成接口,實(shí)現(xiàn)以下功能的動態(tài)配置添加任務(wù),修改任務(wù),暫停任務(wù),恢復(fù)任務(wù),刪除任務(wù),任務(wù)列表,任務(wù)詳情,文章通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • java實(shí)現(xiàn)的計算器功能示例【基于swing組件】

    java實(shí)現(xiàn)的計算器功能示例【基于swing組件】

    這篇文章主要介紹了java實(shí)現(xiàn)的計算器功能,結(jié)合實(shí)例形式分析了java基于swing組件實(shí)現(xiàn)計算器功能相關(guān)運(yùn)算操作技巧,需要的朋友可以參考下
    2017-12-12
  • Java將對象寫入文件讀出_序列化與反序列化的實(shí)例

    Java將對象寫入文件讀出_序列化與反序列化的實(shí)例

    下面小編就為大家?guī)硪黄狫ava將對象寫入文件讀出_序列化與反序列化的實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Spring中的@EnableScheduling定時任務(wù)注解

    Spring中的@EnableScheduling定時任務(wù)注解

    這篇文章主要介紹了Spring中的@EnableScheduling注解,@EnableScheduling是 Spring Framework 提供的一個注解,用于啟用 Spring 的定時任務(wù)功能,通過使用這個注解,可以在 Spring 應(yīng)用程序中創(chuàng)建定時任務(wù),需要的朋友可以參考下
    2024-01-01

最新評論