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