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)文章
SpringBoot實(shí)現(xiàn)獲取客戶(hù)端IP地理位置
在當(dāng)今互聯(lián)的世界中,了解客戶(hù)端的地理位置對(duì)于提供個(gè)性化服務(wù)和增強(qiáng)用戶(hù)體驗(yàn)至關(guān)重要,使用本文為大家介紹了SpringBoot獲取客戶(hù)端IP地理位置的相關(guān)方法,需要的小伙伴可以參考下2023-11-11Java 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