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)沒有參數(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)文章
SpringBoot實(shí)現(xiàn)獲取客戶端IP地理位置
在當(dāng)今互聯(lián)的世界中,了解客戶端的地理位置對(duì)于提供個(gè)性化服務(wù)和增強(qiáng)用戶體驗(yàn)至關(guān)重要,使用本文為大家介紹了SpringBoot獲取客戶端IP地理位置的相關(guān)方法,需要的小伙伴可以參考下2023-11-11
Java 8系列之Stream中萬(wàn)能的reduce用法說(shuō)明
這篇文章主要介紹了Java 8系列之Stream中萬(wàn)能的reduce用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
在Spring Boot中實(shí)現(xiàn)文件上傳與管理的操作
在 Spring Boot 中實(shí)現(xiàn)文件上傳與管理非常簡(jiǎn)單,通過(guò)配置文件上傳、創(chuàng)建文件上傳、下載、列表和刪除接口,我們可以輕松地處理文件操作,結(jié)合前端頁(yè)面,可以提供一個(gè)完整的文件管理系統(tǒng),這篇文章主要介紹了在Spring Boot中實(shí)現(xiàn)文件上傳與管理,需要的朋友可以參考下2024-07-07
利用Java反射機(jī)制實(shí)現(xiàn)對(duì)象相同字段的復(fù)制操作
這篇文章主要介紹了利用Java反射機(jī)制實(shí)現(xiàn)對(duì)象相同字段的復(fù)制操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08

