Spring ゲートウェイ ルート タイムアウトの原理分析とゲートウェイ呼び出しプロセス

1. HttpClientProperties はゲートウェイ ルーティング タイムアウトを設定します

/** ミリ秒単位の接続タイムアウト。デフォルトは 45 秒です。*/ 
private Integer connectTimeout; 

/** 応答タイムアウト。*/
プライベート期間 responseTimeout;

2. GatewayAutoConfiguration 構成クラス ユーザーが httpclient を構成しない場合、gatewayHttpClient メソッドは HttpClientProperties を使用して httpclient オブジェクトを構成し、httpclient のデフォルトの tcp connectTimeout を構成します。

また、HttpClientProperties に従って、最大の応答ヘッダー、Proxy、ssl、ConnectionProvider を構成します。

@Bean 
@ConditionalOnMissingBean
パブリック HttpClient ゲートウェイHttpClient(HttpClientProperties プロパティ、
      List<HttpClientCustomizer> カスタマイザー) {
 
  
  

3. NettyRoutingFilter は、サービス呼び出しのルーティングを担当します. このクラスでは、ルーティング構成に従って、リモート呼び出しのいくつかのパラメーターが設定されます。

getHttpClient メソッドは、ルーティング情報から connect-timeout を取得しようとし、存在する場合は tcp の connectTimeout パラメータを設定します。

getResponseTimeout メソッドは、ルーティング情報から response-timeout パラメータを取得しようとします。存在する場合は、http 呼び出しのタイムアウト コールバックを設定します。

 
 
protected HttpClient getHttpClient(Route route, ServerWebExchange exchange) { 
   Object connectTime

おすすめ

転載: blog.csdn.net/weixin_39355187/article/details/126224944