OpenFeign服務呼叫 學習筆記

2021-10-24 03:35:02 字數 3394 閱讀 4697

feign是乙個宣告式的web服務客戶端,讓編寫web服務客戶端變得非常容易,只需建立乙個介面並在介面上新增註解即可.

簡單的理解,fegin就是乙個介面繫結器,介面+乙個相關的註解,就可以進行呼叫

fegin和openfegin的區別

引入依賴後,檢視jar包可以發現,在fegin下面自動引入了ribbon負載均衡

server

:port:80

eureka

:client

:register-with-eureka

:false

#不註冊進eureka

service-url

:defaultzone

:

寫乙個業務邏輯介面+@feginclient配置呼叫服務提供者的服務

@component

@feignclient

(value =

"cloud-payment-service"

)//服務提供者註冊咋在eureka上的服務名

public

inte***ce

paymentfeginservice")

public commonresult

getpaymetbyid

(@pathvariable

("id"

) long id)

;}

@restcontroller

@slf4j

public

class

orderfegincontroller")

public commonresult

getpaymentbyid

(@pathvariable

("id"

)long id)

}

訪問:localhost:80/consumer/payment/get/31

自帶負載均衡

fegin的預設等待時間為1秒鐘,有些情況下服務提供方在處理複雜邏輯時可能需要稍微長的時間,這種情況下就會報錯了.所以需要設定fegin客戶端的超時控制。需要在yml檔案中開啟配置。超時設定有ribbon控制。

ribbon

:#指的是建立連線所用的時間,適用於網路狀況正常的情況下,兩端連線所用的時間

readtimeout

:5000

#指的是建立連線後從伺服器讀取到可用資源所用的時間

connectimeout

:5000

feign提供了日誌列印功能,我們可以通過配置來調整日誌級別,從而了解feign中http請求的細節.

說白了就是對feign介面的呼叫情況進行監控和輸出.

1️⃣.在消費端建乙個feign的配置類

@configuration

public

class

feignconfig

}

2️⃣.在yml檔案裡需要開啟日誌的feign客戶端

logging

:level

:# fegin日誌以什麼級別監控哪個介面

com.atguigu.springcloud.service.paymentfeginservice

: debug

OpenFeign服務呼叫

依賴 org.springframework.cloud groupid spring cloud starter openfeign openfeign 使用步驟 微服務呼叫介面 註解 feignclient 1 主啟動類新增 enablefeignclients註解 2.業務邏輯介面 feign...

服務呼叫 open feign

1 pom引用 org.springframework.cloud spring cloud starter openfeign 2 啟動類 標註 enablefeignclients basepackages 你的feign介面存放包 開啟服務呼叫 enablefeignclients basep...

三 服務呼叫 OpenFeign

restcontroller provider public class providercontroller org.springframework.cloudgroupid spring cloud starter openfeignartifactid dependency 這裡其實是為該介面...