4

@FeignClient主に他のマイクロサービスと通信するために使用するマイクロサービスがあります。これは、Eureka のサービス検出メカニズムを使用して美しく機能します。

今、私は@FeignClient外部システムに接続するために a を使用する差し迫った必要性があり、以下に示すように構成を使用して負荷分散を実行します。

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

私が調べた多くのドキュメントから、eureka を無効にして、使用可能な listOfServers から負荷分散を取得できるようにすることをお勧めします。私はそれをフォローアップし、次の構成を使用して無効にしました。

application.yml:

ribbon:
  eureka:
    enabled: false

これにより、外部システムをターゲットとする偽クライアントの負荷分散を実行できましたが、サービス検出を使用する必要がある他のすべての偽クライアントが機能しなくなりました。

外部システムのみの偽のクライアント設定で eureka を無効にし、他のクライアントでは正常に機能できるようにする方法はありますか?

前もって感謝します!

4

1 に答える 1