【发布时间】:2016-12-08 19:59:07
【问题描述】:
我快速浏览了Feign的源代码,发现Feign使用JDK的HttpUrlConnection发出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好?
【问题讨论】:
-
你也可以插入okhttp来feign。
-
如果我没记错的话,feignclient 有一个问题,它不允许缓存。 RestTemplate 允许你使用缓存。
标签: spring-cloud spring-cloud-feign