Feignのソースコードをすばやく参照したところ、FeignはJDKのHttpUrlConnection
を使用してHTTPリクエストを発行し、接続プールを使用せずにリクエストが終了すると閉じることがわかりました。私はこの種の方法の効率を疑っています。次に、SpringのRestTemplate
のドキュメントを読みました。これは、RestTemplate
がApacheHttpクライアントまたはOKHttpに切り替えてHTTPリクエストを送信できることを示しています。
注:デフォルトでは、RestTemplateは標準のJDK機能に依存してHTTP接続を確立します。 HttpAccessor.setRequestFactory(org.springframework.http.client.ClientHttpRequestFactory)プロパティを使用して、Apache HttpComponents、Netty、OkHttpなどの別のHTTPライブラリを使用するように切り替えることができます。
パフォーマンスの観点から、RestTemplateがFeignよりも優れているということですか?
古い質問ですが、Spring 5以降、RestTemplateは非推奨になり、WebClientが優先されることをここで言及する価値があります。