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

SpringCloud服務(wù)接口調(diào)用OpenFeign及使用詳解

 更新時間:2023年04月01日 10:39:09   作者:賊愛學(xué)習(xí)的小黃  
這篇文章主要介紹了SpringCloud服務(wù)接口調(diào)用——OpenFeign,在學(xué)習(xí)Ribbon時,服務(wù)間調(diào)用使用的是RestTemplate+Ribbon實現(xiàn),而Feign在此基礎(chǔ)上繼續(xù)進行了封裝,使服務(wù)間調(diào)用變得更加方便,需要的朋友可以參考下

OpenFeign簡介

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

在學(xué)習(xí)Ribbon時,服務(wù)間調(diào)用使用的是RestTemplate+Ribbon實現(xiàn),而Feign在此基礎(chǔ)上繼續(xù)進行了封裝,使服務(wù)間調(diào)用變得更加方便。

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

OpenFeign使用

OpenFeign應(yīng)用在消費端,服務(wù)端不需要做任何改變

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


<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來說,服務(wù)間的調(diào)用需要在消費端創(chuàng)建一個接口,這個接口類似于服務(wù)端

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

OpenFeign超時控制

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

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

如果不設(shè)置,會報一下錯誤

OpenFeign日志

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

  • NONE:默認的,不顯示任何日志;
  • BASIC:僅記錄請求方法、URL、響應(yīng)狀態(tài)碼及執(zhí)行時間;
  • HEADERS:除了 BASIC 中定義的信息之外,還有請求和響應(yīng)的頭信息;
  • FULL:除了 HEADERS 中定義的信息之外,還有請求和響應(yīng)的正文及元數(shù)據(jù)。

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

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

添加配置文件

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

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

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

相關(guān)文章

  • java讀取txt文件內(nèi)容簡單舉例

    java讀取txt文件內(nèi)容簡單舉例

    這篇文章主要給大家介紹了關(guān)于java讀取txt文件內(nèi)容簡單舉例的相關(guān)資料,通常我們可以直接通過文件流來讀取txt文件的內(nèi)容,文中給出了詳細的代碼示例,需要的朋友可以參考下
    2023-07-07
  • finally 一定會執(zhí)行(實例代碼)

    finally 一定會執(zhí)行(實例代碼)

    下面小編就為大家?guī)硪黄猣inally 一定會執(zhí)行(實例代碼)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • SpringDataJPA之Specification復(fù)雜查詢實戰(zhàn)

    SpringDataJPA之Specification復(fù)雜查詢實戰(zhàn)

    這篇文章主要介紹了SpringDataJPA之Specification復(fù)雜查詢實戰(zhàn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 詳解在Spring中如何使用AspectJ來實現(xiàn)AOP

    詳解在Spring中如何使用AspectJ來實現(xiàn)AOP

    這篇文章主要介紹了詳解在Spring中如何使用AspectJ來實現(xiàn)AOP,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Java實現(xiàn)瀏覽器端大文件分片上傳

    Java實現(xiàn)瀏覽器端大文件分片上傳

    本文主要介紹了Java實現(xiàn)瀏覽器端大文件分片上傳,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java進階:Struts多模塊的技巧

    Java進階:Struts多模塊的技巧

    Java進階:Struts多模塊的技巧...
    2006-12-12
  • Spring之借助Redis設(shè)計一個簡單訪問計數(shù)器的示例

    Spring之借助Redis設(shè)計一個簡單訪問計數(shù)器的示例

    本篇文章主要介紹了Spring之借助Redis設(shè)計一個簡單訪問計數(shù)器的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • java使用PageInfo的list通用分頁處理demo

    java使用PageInfo的list通用分頁處理demo

    這篇文章主要為大家介紹了java使用PageInfo的list通用分頁處理demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2023-12-12
  • Java連接MQ實現(xiàn)信息查詢的操作過程

    Java連接MQ實現(xiàn)信息查詢的操作過程

    本文介紹了如何使用Java連接ApacheRocketMQ實現(xiàn)信息查詢的功能,通過編寫Java代碼連接MQ并實現(xiàn)生產(chǎn)者發(fā)送消息和消費者接收并處理消息的過程,展示了如何在分布式系統(tǒng)中實現(xiàn)訂單處理系統(tǒng)的解耦,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Java對世界不同時區(qū)timezone之間時間轉(zhuǎn)換的處理方法

    Java對世界不同時區(qū)timezone之間時間轉(zhuǎn)換的處理方法

    這篇文章主要介紹了Java對世界不同時區(qū)timezone之間時間轉(zhuǎn)換的處理方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評論

昌邑市| 武邑县| 东乌珠穆沁旗| 昌宁县| 鲁甸县| 东丰县| 绥滨县| 江达县| 且末县| 仪征市| 惠州市| 龙山县| 建瓯市| 得荣县| 宁陵县| 金堂县| 宜春市| 德保县| 车险| 合江县| 黎川县| 玛纳斯县| 通榆县| 桓仁| 英德市| 神农架林区| 图木舒克市| 阳谷县| 嘉禾县| 桑日县| 乌恰县| 高清| 遵义县| 芒康县| 青阳县| 治多县| 香格里拉县| 汝南县| 民丰县| 农安县| 德安县|