问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Feign远程调用原理

发布网友 发布时间:2022-10-06 21:20

我来回答

1个回答

热心网友 时间:2023-10-23 19:13

Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求。Spring Cloud引入 Feign并且集成了Ribbon实现客户端负载均衡调用。

封装了Http调用流程,更适合面向接口化的变成习惯

在使用feign 时,会定义对应的接口类,在接口类上使用Http相关的注解,标识HTTP请求参数信息

在Feign 底层,通过基于面向接口的动态代理方式生成实现类,将请求调用委托到动态代理实现类,基本原理如下所示:

根据传入的Bean对象和注解信息,从中提取出相应的值,来构造Http Request 对象

Feign 最终会将请求转换成Http 消息发送出去,传入的请求对象最终会解析成消息体,如下所示:

在请求转换的过程中,Feign 抽象出来了*接口,用于用户自定义对请求的操作,比如,如果希望Http消息传递过程中被压缩,可以定义一个请求*。

Feign 内置了一个重试器,当HTTP请求出现IO异常时,Feign会有一个最大尝试次数发送请求

Feign 真正发送HTTP请求是委托给 feign.Client 来做的。

Feign 默认底层通过JDK 的 java.net.HttpURLConnection 实现了feign.Client接口类,在每次发送请求的时候,都会创建新的HttpURLConnection 链接,这也就是为什么默认情况下Feign的性能很差的原因。可以通过拓展该接口,使用Apache HttpClient 或者OkHttp3等基于连接池的高性能Http客户端。

Feign 整体框架非常小巧,在处理请求转换和消息解析的过程中,基本上没什么时间消耗。真正影响性能的,是处理Http请求的环节。

gzip是一种数据格式,采用deflate算法压缩数据。当Gzip压缩到一个纯文本数据时,可以减少70%以上的数据大小。

gzip作用:网络数据经过压缩后实际上降低了网络传输的字节数,最明显的好处就是可以加快网页加载的速度。

只配置Feign请求-应答的GZIP压缩

配置全局的GZIP压缩

Feign的HTTP客户端支持3种框架,分别是;HttpURLConnection、HttpClient、OKHttp。Feign中默认使用HttpURLConnection。

本案例中,通过替换Feign底层的HTTP客户端实现为HttpClient,来提升Feign的通讯性能。

修改全局配置文件:开启feign技术对底层httpclient的依赖。 切换底层实现技术。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
世界上最大的昆虫昆虫 如何证明各条棱相等的正四面体与正四棱锥拼接是三棱柱(急急急) 我做天晚上在cf的时光机活动领了一把7天的烈焰毛瑟,可我今天打开个人仓... cf时光机活动网址(cf时光机介绍_cf时光机活动网址(cf时光机是什么 穿越火线:枪战王者 掌火时光机在哪? 猪为什么活不到老死呢 苹果5s又慢又卡怎么回事 拼多多平台介入退款诀窍有哪些 拼多多平台介入退款诀窍是什么_百度知 ... 电脑文件后缀有urlurl是什么文件 我有2个证券账号,可以两个同时申购一个新股么 怀孕14周,老公常摸胸部,导致我肚子有点痛,是不是宫缩 骍字的同音字? 有关于同情心的例子或名言 常州到上海的火车是到上海的那个站?是不是到有公交上朱线的那一站的啊 ?求高手解决下..谢谢了 从常州火车站到上海火车站什么车最快!票价多少,多长时间 从常州到上海的火车班次有哪些 常州至上海虹桥火车站路线自驾怎么走?主要是过了江桥怎么走? 从常州南站去往上海的铁路大约有多少千米? 怎么提高一千米跑步的成绩 有哪些技巧 怎么卸载微信步数 乐视手机Ⅹ620找不到刷机包了什么意思啊? 弟弟高烧不退?怎么办啊? 我弟弟发烧没好,怎么办 米动手表为什么不能进行洗澡和游泳? 四年级语文上册《师恩难忘》优秀教案 小学四年级语文上册教案 小学语文四年级上册教案 小学语文四年级上教案 高通亲自打造万元手机:骁龙888、无孔全面屏、后置指纹亮了 三喜生活是什么?怎样赚钱 如何使用Open和PrivacyIDEA搭建双因素认证的远程接入 翰申融资租赁有限公司怎么样? 楚雄公司注册:2018融资租赁注册公司的流程有哪些 曲靖资质代办:2018融资租赁注册公司的流程有哪些 孟子中同情心的重要性诗句 oppo手机售后怎么做 心有不甘的伤感说说语录(64条) 小女孩扎辫子教程 引力是指什么 引力是指什么意思 手机很卡怎么办 通过以下四种方法轻松解决 电脑开机后屏幕是灰色,然后渐变成白屏,然后就这样了,怎么办? 右小腿假肢多少钱?能用多久? 什么样的假肢比较好呢?能不能推荐一下? 快手如何取消绑定的银行卡呢 如何解除绑定快手的银行卡呢? 快手绑定的银行卡怎么解除绑定呀! 粉丝煲用什么粉丝来做 堂做干捞粉丝煲怎么做 雪水云绿的价格?拜托各位大神 雪水云绿茶价格