Feign和httpclient的区别是啥?各自用在什么地方? 为什么在应用中使用feign调用第三方接口被说不推荐呢

尼禄花嫁 发布于 2019/12/18 12:25
阅读 1K+
收藏 1

Feign和httpclient的区别是啥?各自用在什么地方? 为什么在应用中使用feign调用第三方接口被说不推荐呢. 各自的有缺点呢?

加载中
0
伙哥
伙哥

feign只是一个接口声明式调用的框架,只实现了一个抽象层的逻辑,没有真正实现底层http请求,它提供了一个Client接口用于实现底层http操作,默认提供的实现是基于httpurlconnection,也有基于apache httpclient的实现,feign跟httpclient的管理类似于slf4j和log4j的关系

枫叶leaf
回复 @尼禄花嫁 : 谁说的?
伙哥
伙哥
回复 @尼禄花嫁 : 不知道是谁说的,针对哪个系统说的,我不觉得feign在哪个系统不能用
尼禄花嫁
尼禄花嫁
这些我知道 我要问的是为什么别人说在单应用中不推荐用feign呢
0
大后锋
大后锋

feign可以选择底层实现,httpclient是其中一种,可以理解为对httpclient的封装

尼禄花嫁
尼禄花嫁
我想问的是为什么别人说在单应用/单线程中中不推荐用feign呢
0
y
youngkun
fegin是spring cloud微服务推荐使用内部调用方式,底层是httpclient或者okhttp,是声明式接口调用,方便
y
youngkun
最底层是http tcp
一道彩虹-两个背影
一道彩虹-两个背影
老哥,那个httpclient的跨域请求的原理是怎样的呢?
0
木九天
木九天

第三方接口必须用HttpClient,自己接口可以使用Feign。feign需要各个应用配置文件的相互配置,你说的第三方,怎么可能还给你的应用和它的应用互相配置,那岂不是累死。

0
linshi2019
linshi2019

谁说的不推荐?

0
尼禄花嫁
尼禄花嫁

  才入职新公司,一个了在做老项目改新,老项目的第三方调用全是用httpclinet得 各种辅助类,封装方法写了一大堆看着就头疼, 我就全部改成feign请求 ,地址也写出可配置,请求异常也做了统一处理,代码提交上去就被同事说 单项目还是单线程来自 不推荐使用feign  我以开发时间为由拒绝了修改,但他说的这话就另我can's疑惑了  所以我就不懂就来求问了 @linshi2019,@伙哥 

伙哥
伙哥
feign无非是做了一层代理帮你简化http代码,跟直接用httpclient没什么区别,我是想不到有什么理由不推荐,看你这个项目直接用了url,应该是服务端只有一个实例吧,可能你同事认为feign只能在服务端多个实例,feignclient name配serviceId做负载均衡才能用吧,但并没有这回事
0
小腊肠
小腊肠

feign能调用第三方? 这个好像不行吧, 具体没尝试过这样的用法.

0
小辛的一天
小辛的一天

feign插件有分布式负载均衡的功能

0
zhaobohao
zhaobohao

我大概了解你同事的意思 了。你开头也说的你们现在对httpClient进行了大量的封装。这里除了对api的简化调用。更多的是封装了httpclient的多线程池,ssl配置,正反向代理配置。还有其它的timeout,retry,等等性能和插件方面的封装。你这样改成feign。。。。合适么????

返回顶部
顶部