亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringCloud服務接口調用OpenFeign及使用的方法是什么

發布時間:2023-05-09 17:20:27 來源:億速云 閱讀:132 作者:iii 欄目:開發技術

這篇“SpringCloud服務接口調用OpenFeign及使用的方法是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“SpringCloud服務接口調用OpenFeign及使用的方法是什么”文章吧。

OpenFeign簡介

Feign是一個聲明式的Web服務客戶端,讓編寫Web服務客戶端變得非常容易,只需創建一個接口并在接口上添加注解即可。

在學習Ribbon時,服務間調用使用的是RestTemplate+Ribbon實現,而Feign在此基礎上繼續進行了封裝,使服務間調用變得更加方便。

而OpenFeign可以理解為Feign的升級版。

OpenFeign使用

OpenFeign應用在消費端,服務端不需要做任何改變

創建一個新的消費端cloud-consumer-feign-order80,首先引入相關依賴,引入OpenFeign以后,可以看到OpenFeign內置了Ribbon,所以他底層實現負載均衡還是依賴于Ribbon

SpringCloud服務接口調用OpenFeign及使用的方法是什么


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

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>

    <dependency>
        <groupId>com.yellowstar.springcloud</groupId>
        <artifactId>cloud-api-commons</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

編寫配置文件

server.port=80

eureka.client.register-with-eureka=false
eureka.client.service-url.defaultZone=http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka

在啟動類上添加如下注解

@EnableFeignClients

對于OpenFeign來說,服務間的調用需要在消費端創建一個接口,這個接口類似于服務端

@Component
@FeignClient(value = "CLOUD-PAYMENT-SERVICE")
public interface PaymentFeignService {
    @GetMapping("/payment/get/{id}")
    CommonResult<Payment> getPayment(@PathVariable("id") int id);
}

OpenFeign超時控制

默認情況下,OpenFeign調用方法,會給該方法一秒鐘的執行時間,如果一秒鐘之后沒有執行完方法,則直接報錯。而OpenFeign底層調用的Ribbon,也就是說我們需要設置Ribbon服務間調用的等待時間

#指的是建立連接所用的時間,適用于網絡狀況正常的情況下,兩端連接所用的時間
ribbon.ReadTimeout=5000l
#指的是建立連接后從服務器讀取到可用資源所用的時間
ribbon.ConnectTimeout=5000

如果不設置,會報一下錯誤

SpringCloud服務接口調用OpenFeign及使用的方法是什么

OpenFeign日志

OpenFeign在調用http請求時,可以將請求的日志完整的打印出來,有以下幾種日志級別,默認是無日志。

  • NONE:默認的,不顯示任何日志;

  • BASIC:僅記錄請求方法、URL、響應狀態碼及執行時間;

  • HEADERS:除了 BASIC 中定義的信息之外,還有請求和響應的頭信息;

  • FULL:除了 HEADERS 中定義的信息之外,還有請求和響應的正文及元數據。

首先需要對Feign的日志級別進行配置

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

添加配置文件

# feign日志以什么級別監控哪個接口
logging.level.com.yellowstar.springcloud.service.PaymentFeignService=debug

接下來就可以觀察http請求的完整信息了

SpringCloud服務接口調用OpenFeign及使用的方法是什么

以上就是關于“SpringCloud服務接口調用OpenFeign及使用的方法是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普兰店市| 临城县| 乐亭县| 嘉黎县| 共和县| 亳州市| 永善县| 轮台县| 富民县| 水城县| 漳平市| 安溪县| 怀仁县| 福泉市| 青岛市| 南江县| 汾阳市| 永新县| 桃源县| 屏东县| 兴城市| 红安县| 建水县| 襄垣县| 河南省| 安顺市| 朝阳区| 休宁县| 安福县| 濮阳县| 仙游县| 南丰县| 安平县| 固阳县| 吴旗县| 遵义市| 洞口县| 海伦市| 温泉县| 安丘市| 巴彦县|