«1. Введение

Spring Cloud Feign Client — это удобный декларативный REST-клиент, который мы используем для реализации связи между микросервисами.

В этом кратком руководстве мы покажем, как установить пользовательский тайм-аут соединения Feign Client, как глобально, так и для каждого клиента.

2. Настройки по умолчанию

Feign Client довольно настраиваемый.

Что касается тайм-аута, он позволяет нам настроить тайм-ауты как для чтения, так и для соединения. Тайм-аут соединения — это время, необходимое для рукопожатия TCP, а тайм-аут чтения, необходимый для чтения данных из сокета.

Время ожидания соединения и чтения по умолчанию составляет 10 и 60 секунд соответственно.

3. Глобально

Мы можем установить время ожидания подключения и чтения, которое применяется к каждому клиенту Feign в приложении, с помощью свойства feign.client.config.default, установленного в нашем файле application.yml:

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

Значения представляют количество миллисекунд до истечения времени ожидания.

4. Для каждого клиента

Также возможно установить эти тайм-ауты для конкретного клиента, назвав его:

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

И, конечно же, мы могли бы указать глобальные настройки, а также переопределения для каждого клиента. вместе без проблем.

5. Заключение

В этом уроке мы объяснили, как настроить тайм-ауты Feign Client и как установить пользовательские значения в файле application.yml. Не стесняйтесь попробовать их, следуя нашему основному введению Feign.