1. 引言
Spring Cloud Feign Client 是一種便捷的聲明式 REST 客户端,我們使用它來實現微服務之間的通信。
在本簡短教程中,我們將演示如何設置自定義 Feign Client 連接超時時間,既可以全局設置,也可以針對每個客户端進行設置。
2. 默認配置
Feign 客户端具有較高的可配置性。
在超時方面,它允許我們配置讀取超時和連接超時。連接超時是指 TCP 手動握建所需的時間,而讀取超時是指從套接字讀取數據所需的時間。
默認情況下,連接超時和讀取超時分別設置為 10 秒和 60 秒。
3. 全局配置
我們可以通過在 application.yml文件中設置 feign.client.config.default 屬性,為應用程序中的所有 Feign 客户端設置通用的連接和讀取超時時間:
feign:
client:
config:
default:
connectTimeout: 60000
readTimeout: 10000這些值代表在超時發生之前的時間間隔,單位為毫秒。
4. 客户端特定設置
還可以通過指定客户端名稱來設置這些超時時間,從而實現客户端級別的配置:
feign:
client:
config:
FooClient:
connectTimeout: 10000
readTimeout: 20000當然,我們也可以同時列出全局設置和按客户端覆蓋選項,而不會出現問題。
5. 結論
在本教程中,我們解釋瞭如何調整 Feign Client 的超時設置以及如何通過 application.yml 文件設置自定義值。請隨時嘗試這些方法,按照我們提供的 Feign 介紹進行操作。