91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

鹤岗市| 阳泉市| 大姚县| 交口县| 井研县| 金乡县| 名山县| 泗洪县| 都安| 临湘市| 丰县| 乐山市| 抚顺县| 长沙市| 赤峰市| 祁门县| 辰溪县| 利川市| 定兴县| 九台市| 林西县| 杭锦后旗| 永修县| 扶绥县| 会同县| 白朗县| 庆阳市| 义乌市| 新昌县| 南华县| 江川县| 林州市| 兖州市| 铁力市| 阿拉尔市| 福泉市| 大埔县| 望奎县| 织金县| 洪洞县| 鹰潭市|