本文小编为大家详细介绍“微服务Springcloud之Feign如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“微服务Springcloud之Feign如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Feign是Spring Cloud提供的声明式、模板化的HTTP客户端, 它使得调用远程服务就像调用本地服务一样简单,只需要创建一个接口并添加一个注解即可。Spring Cloud集成Feign并对其进行了增强,使Feign支持了Spring MVC注解;Feign默认集成了Ribbon,所以Fegin默认就实现了负载均衡的效果。注意:以下所有步骤实现的前提是需要在启动类上加入注解@EnableFeignClients 主要是为开启feign接口扫描导入依赖:代码如下(示例): 在服务提供者中调用servic层获取数据代码如下(示例): 解释都放在了代码中,可以直接复制粘贴 application.yml文件server:
port: 80
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.209.129:8848
application:
name: feign-consumer1、将feign接口的代理类扫描到Spring容器免费云主机域名中:
@EnableFeignClients开启feign注解扫描:FeignClientsRegistrar.registerFeignClients()扫描被 @FeignClient标识的接口生成代理类,并把接口和代理类交给Spring的容器管理。
2、为接口的方法创建RequestTemplate
当consumer调用feign代理类时,代理类会调用SynchronousMethodHandler.invoke()创建RequestTemplate(url,参数)
3、发出请求
代理类会通过RequestTemplate创建Request,然后client(URLConnetct、HttpClient、OkHttp)使用Request发送请求feign日志级别在consumer的yml文件中加入以下代码随后启动测试:出现以下结果表示日志输出成功 首先、Feign的负载均衡底层用的就是Ribbon,所以这里的请求超时配置其实就是配置Ribbon,当出现请求超时会出现以下报错。注意 :当开启日志配置之后,feign超时问题不会出现报错情况。 针对超时问题我们需要在之前的日志配置中加入以下内容ConnectTimeout: 5000 #请求连接的超时时间ReadTimeout: 5000 #请求处理的超时时间首先,我们知道HTTP连接需要经过三次握手,四次挥手的过程,这是很耗费性能的;所以HTTP连接池帮助我们节省了这一步。同时Feign的HTTP客户端支持三种框架:HttpURLConnection、HttpClient、OkHttp;默认是HttpURLConnection 先引入依赖到公共接口工厂interfac,如果没有做公共接口就放入consumer讲真的,其实这已经完成了,但是,我们还是要知道一下它的原理,否则显得太片面了在配置文件中我们看到,连接池引入之后默认是开启的,所以我们就不用再写了压缩能力:当 Gzip 压缩到一个纯文本文件时,效果是非常明显的,大约可以减少 70%以上的文件大小。这个开启也是比较简单,只需要在consumer中yml文件中写入以下代码即可此时在浏览器中就可以看到我们提供的压缩方式,和浏览器支持的压缩方式读到这里,这篇“微服务Springcloud之Feign如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。
相关推荐: Android中如何利用EasyBarrage实现一个弹幕效果
今天小编给大家分享一下Android中如何利用EasyBarrage实现一个弹幕效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。概述EasyB…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。