需求
因?yàn)槲⒎?wù)很多,在開發(fā)階段,需要開發(fā)某一項(xiàng)目時(shí),往往要啟動(dòng)很多關(guān)聯(lián)項(xiàng)目,但是大多數(shù)關(guān)聯(lián)項(xiàng)目都是已完成的,不希望在本地再次啟動(dòng)這些微服務(wù),因?yàn)樵跍y試環(huán)境中,已經(jīng)有了啟動(dòng)的服務(wù)了(一下同意說遠(yuǎn)程服務(wù)),之前寫了一個(gè)eureka的,感覺不太滿意,這次換一個(gè)
思路
使用feign的出現(xiàn)的這個(gè)問題,雖然feign可以直接指定host,但是需要需改代碼,不夠便捷,所以決定直接修改Robbin的獲取方式,有興趣的同學(xué)可以看看源代碼
代碼
- 確定導(dǎo)入的包
<!--feign調(diào)用-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.netflix.servo/servo-core -->
<dependency>
<groupId>com.netflix.servo</groupId>
<artifactId>servo-core</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.netflix.netflix-commons/netflix-commons-util -->
<dependency>
<groupId>com.netflix.netflix-commons</groupId>
<artifactId>netflix-commons-util</artifactId>
</dependency>
-
修改com.netflix.loadbalancer.LoadBalancerContext
image.png
這個(gè)是已經(jīng)修改后的,可以看到在去注冊中心拉取之前先走了自己的方法,clientName是Feign上面的服務(wù)名,如果沒有指定,才會(huì)注冊中心獲取

image.png
這個(gè)是相關(guān)的指定ip的工具類
結(jié)語
基本實(shí)現(xiàn)了我們的需要,有更好的方法請一定不吝賜教!0.0
