3

私は@FeignClientを主に使って他のマイクロサービスと話すマイクロサービスを持っています。これは、ユーレカのサービス発見メカニズムを使用して美しく動作します。特定の@FeignClientでユーレカルックアップを無効にする方法

外部システムに接続し、以下のような構成を使用してロード・バランシングを実行するには、@FeignClientを使用する必要があります。

Feign client

@FeignClient("externalServers") 
public interface ExternalServersClient { 
    @RequestMapping(method = RequestMethod.GET, value = "/someExternalUrl") 
    ResponseEntity<Object> callExternalServer(); 
} 

application.yml

externalServers: 
    ribbon: 
    listOfServers: server1:18201,server2:18201 

私が経てきた多くのドキュメンテーションからは、ロードバランシングが使用可能にlistOfServersからピックアップできるようにユーレカを無効にするadvicedされます。私はそれをフォローし、以下の設定を使用して無効にしました。

application.yml

ribbon: 
    eureka: 
    enabled: false 

これは私が外部システムをターゲットに装うクライアントのロードバランシングを実行することができますがサービス探索を使用する必要がある他のすべての装うのクライアントが壊れました。

外部システムだけでfeignクライアントをセットアップするためにユーレカを無効にする方法はありますか?それは他のクライアントに対して正常に機能することができますか?

ありがとうございます!

答えて

3

spring-cloud-netflix 1.2.0(Camdenリリーストレインの一部)では、サーバーリストの実装を設定する機能はrecentlyでした。

あなたは次の操作を行うことができるでしょう:

externalServers: 
    ribbon: 
    NIWSServerListClassName: com.netflix.loadbalancer.ConfigurationBasedServerList 
    listOfServers: server1:18201,server2:18201 

はおそらく8月または9月にいつかリリースしました。

+0

お返事ありがとうございます! 1.2.0が利用できるようになるまで、 '@FireClient'と一緒に' @RibbonClient'を使用して設定をカスタマイズすることができますか? –

+0

またはそれ以上...私はデフォルトのリボン構成を、あなたが行った変更に合わせて置き換えようとします! –

関連する問題