FeignClient如何脫離eureka自定義URL
FeignClient脫離eureka自定義URL
需求
Spring Cloud環(huán)境中的FeignClient有時(shí)候需要調(diào)用特定主機(jī)的接口,但是默認(rèn)是從eureka上的注冊(cè)列表自動(dòng)獲取到的負(fù)載均衡過(guò)后的URL,這時(shí)怎么辦呢?
方法一: FeignClient注解中添加URL屬性
如果本地可以編譯參照的FeignClient源碼,可以直接修改,如果參照的是jar包,則可以另外自己做一個(gè)FeignClient,主要是要指定url屬性:
@FeignClient(name = "test-service", path = "/test", url="http://localhost:8000")
public interface TestFeignClient{
?? ?@GetMapping(value = "/test1")
?? ?String test1();方法二: eureka禁用ribbon,并手動(dòng)配置服務(wù)列表
設(shè)置 ribbon.eureka.enable = false
自定義接口的服務(wù)地址
ribbon: ? eureka: ? ? enabled: false test-service: ? ribbon: ? ? listOfServers: http://localhost:8000
注意
方法二的設(shè)置會(huì)導(dǎo)致所有FeignClient都需要在配置文件中自定義服務(wù)地址,
如果需要特定指定的服務(wù)URL并不多的話,推薦使用方法一。
另外,如果項(xiàng)目本身就不需要eureka,推薦方法二,因?yàn)閡rl可以指定多個(gè),來(lái)實(shí)現(xiàn)一定的負(fù)載均衡。
feign不使用eureka
main
@EnableFeignClients
@SpringBootApplication
public class FeignMain {
? ? public static void main(String[] args) {
? ? ? ? SpringApplication.run(FeignMain.class, args);
? ? }
}server端代碼
server端依舊是用randomInt
@RequestMapping(value = "/getNum", method = RequestMethod.GET)
? ? public int getRandomInt() {
? ? ? ? Random random = new Random();
? ? ? ? Integer num = random.nextInt(100);
? ? ? ? logger.info("getRandomInt:" + num);
? ? ? ? return num;
? ? }Client端代碼
@FeignClient(name = "thisOnlyName", url = "http://localhost:10102")
public interface RestFulService {
? ? /**
? ? ?* 默認(rèn)沒(méi)有參數(shù)會(huì)使用get方法
? ? ?*
? ? ?* @return
? ? ?*/
? ? @RequestMapping(value = "/getNum")
? ? int getRandomInt();
}此處通過(guò)url直接指定就好了。不需要配置eureka。ribbon也不會(huì)生效。單節(jié)點(diǎn)個(gè)人學(xué)習(xí)棒棒噠!
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java文件刪除不了File類的delete方法刪不掉文件的原因以及分析
這篇文章主要介紹了java文件刪除不了File類的delete方法刪不掉文件的原因以及分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Java多線程中的wait/notify通信模式實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Java多線程中wait/notify通信模式的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
基于mybatis-plus timestamp返回為null問(wèn)題的排除
這篇文章主要介紹了mybatis-plus timestamp返回為null問(wèn)題的排除,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Java中數(shù)組轉(zhuǎn)List的三種方法與對(duì)比分析
這篇文章主要給大家介紹了關(guān)于Java中數(shù)組轉(zhuǎn)List的三種方法與對(duì)比分析的相關(guān)資料,分別介紹了最常見方式、數(shù)組轉(zhuǎn)為L(zhǎng)ist后,支持增刪改查的方式以及通過(guò)集合工具類Collections.addAll()方法,需要的朋友可以參考下2018-07-07
Java web入門指南之在Idea上創(chuàng)建Java web項(xiàng)目
好多書上的JavaWeb教程都是Eclipse以及MyEclipse,當(dāng)然這里不論IDE的好壞,下面這篇文章主要給大家介紹了關(guān)于Java web入門指南之在Idea上創(chuàng)建Java web項(xiàng)目的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06

