我快速浏览了 Feign 的源代码,发现 Feign 使用 JDKHttpUrlConnection
发出 HTTP 请求并在请求完成时关闭它,而不使用连接池。我怀疑这种方式的效率。然后我阅读了 Spring 的文档,上面RestTemplate
写着RestTemplate
可以切换到 Apache Http Client 或 OKHttp 来发送 HTTP 请求:
注意:默认情况下,RestTemplate 依赖于标准 JDK 工具来建立 HTTP 连接。您可以通过 HttpAccessor.setRequestFactory(org.springframework.http.client.ClientHttpRequestFactory) 属性切换到使用不同的 HTTP 库,例如 Apache HttpComponents、Netty 和 OkHttp。
是不是说从性能上看 RestTemplate 比 Feign 好?