1. 序章

Spring Cloud Feign Client は、マイクロサービス間の通信を実装するために使用する便利な宣言型RESTクライアントです。

この短いチュートリアルでは、グローバルおよびクライアントごとの両方で、カスタムのFeignClient接続タイムアウトを設定する方法を示します。

2. デフォルト

FeignClientはかなり構成可能です。

タイムアウトに関しては、読み取りタイムアウトと接続タイムアウトの両方を構成できます。 接続タイムアウトはTCPハンドシェイクに必要な時間であり、読み取りタイムアウトはソケットからデータを読み取るために必要な時間です。

接続と読み取りのタイムアウトは、デフォルトでそれぞれ10秒と60秒です。

3. グローバルに

application.ymlで設定されたfeign.client.config。default propertyを介して、アプリケーション内のすべてのFeignClientに適用される接続と読み取りのタイムアウトを設定できます。 ] ファイル:

feign:
  client:
    config:
      default:
        connectTimeout: 60000
        readTimeout: 10000

値は、タイムアウトが発生するまでのミリ秒数を表します。

4. クライアントごと

クライアントに名前を付けることで、特定のクライアントごとにこれらのタイムアウトを設定することもできます:

feign:
  client:
    config:
      FooClient:
        connectTimeout: 10000
        readTimeout: 20000

もちろん、グローバル設定とクライアントごとのオーバーライドを問題なく一緒にリストすることもできます。

5. 結論

このチュートリアルでは、Feign Clientのタイムアウトを微調整する方法と、application.ymlファイルを使用してカスタム値を設定する方法について説明しました。 メインのFeign紹介に従って、これらをお試しください。