FeignClient中name和url屬性的作用說明
name和url屬性的作用
定義
feign是聲明式的web service客戶端,它讓微服務之間的調用變得更簡單了,類似controller調用service。
Spring Cloud集成了Ribbon和Eureka,可在使用Feign時提供負載均衡的http客戶端。
場景
通過feign調用Eureka上注冊的服務,需要指定什么屬性?
解釋
name
/value
屬性:這兩個的作用是一樣的,指定的是調用服務的微服務名稱url
:指定調用服務的全路徑,經常用于本地測試- 如果同時指定
name
和url
屬性: 則以url屬性為準,name屬性指定的值便當做客戶端的名稱
@FeignClient注解屬性
@FeignClient(value="run-product",fallback = ProductClientServiceFallBack.class) //@FeignClient(name="runClient",url="localhost:8001") public interface ProductClientService {}
vaule和name 其實是一個屬性
鼠標點進去@FeignClient就發(fā)現(xiàn)他倆互相使用了別名:
@AliasFor("name") String value() default ""; @AliasFor("value") String name() default "";
關于調用目前有兩種
1、接口提供方在注冊中心。
如果服務提供方已經注冊到注冊中心了,那么name或者value的值為:服務提供方的服務名稱。必須為所有客戶端指定一個name或者value
@FeignClient(value="run-product",fallback = ProductClientServiceFallBack.class)
2、單獨的一個http接口,接口提供方沒有注冊到注冊中心。
@FeignClient(name="runClient11111",url="localhost:8001")
此處name的值為:調用客戶端的名稱。
以上兩種方式都能正常調用。name可以為注冊中心的實例名稱,加上url屬性時,name的值就與注冊中心實例名稱無關。至于url屬性和name屬性的關系請指導的大佬們留言呀。
- 補充知識點:
1、調用時間設置。
A服務調用B的接口。 B的接口如果處理時間長,導致連接超時。這時候要設置超時時間。默認是1秒。
#設置feign客戶端超時時間(OpenFeign默認支持ribbon) #ribbon: #指的是建立連接所用的時間,適用于網(wǎng)絡狀況正常的情況下,兩端連接所用的時間 # ?ReadTimeout: 5000 #指的是建立連接后從服務器讀取到可用資源所用的時間 # ?ConnectTimeout: 5000
2、接口日志處理
logging: ? level: ? ? # feign日志以什么級別監(jiān)控哪個接口 ? ? com.atguigu.springcloud.service.PaymentFeignService: debug
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Spring Boot 部署過程解析(jar or war)
這篇文章主要介紹了Spring Boot 部署過程解析(jar or war),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09詳解Spring關于@Resource注入為null解決辦法
這篇文章主要介紹了詳解Spring關于@Resource注入為null解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-05-05使用AbstractRoutingDataSource實現(xiàn)數(shù)據(jù)源動態(tài)切換的實例
AbstractRoutingDataSource 是 Spring 框架提供的一個抽象類,用于實現(xiàn)動態(tài)數(shù)據(jù)源路由,這個類主要用于多數(shù)據(jù)源場景,其中可以根據(jù)不同的條件動態(tài)地切換到不同的數(shù)據(jù)源,本文給大家介紹了如何使用AbstractRoutingDataSource實現(xiàn)數(shù)據(jù)源動態(tài)切換,需要的朋友可以參考下2024-03-03Springboot發(fā)送郵件功能的實現(xiàn)詳解
電子郵件是—種用電子手段提供信息交換的通信方式,是互聯(lián)網(wǎng)應用最廣的服務。本文詳細為大家介紹了SpringBoot實現(xiàn)發(fā)送電子郵件功能的示例代碼,需要的可以參考一下2022-09-09java實戰(zhàn)技巧之if-else代碼優(yōu)化技巧大全
代碼中如果if-else比較多,閱讀起來比較困難,維護起來也比較困難,很容易出bug,下面這篇文章主要給大家介紹了關于java實戰(zhàn)技巧之if-else代碼優(yōu)化技巧的相關資料,需要的朋友可以參考下2022-02-02Mybatis查詢返回Map<String,Object>類型的實現(xiàn)
本文主要介紹了Mybatis查詢返回Map<String,Object>類型的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07