| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> SpringCloud-06-Feign声明式WebService客户端 -> 正文阅读 |
|
[Java知识库]SpringCloud-06-Feign声明式WebService客户端 |
SpringCloud-01-微服务的起源 文章目录7. Feign????在前面的学习中,我们使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码:
????但是这种方式需要编写类似的大量重复代码,格式基本相同,无非参数不一样。有没有更优雅的方式,来对这些代码再次优化呢? 7.1 Feign概念????Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。 ????Feign和Ribbon是SpringCloud的Netflix中提供的两个实现软负载均衡的组件,Ribbon和Feign都是用于调用其他服务的,方式不同。Feign则是在Ribbon的基础上进行了一次改进,采用接口的方式。 7.2 Feign入门案例
7.2.1 添加依赖
7.2.2 Feign的客户端
7.2.3 修改controller层????使用UserClient访问:
7.2.4 开启Feign功能????在启动类上添加注解 @EnableFeignClients。
7.2.5 测试7.3 Feign集成Ribbon????Feign中本身已经集成了Ribbon依赖和自动配置: ? ????因此,不需要额外引入Ribbon依赖,也不需要再注册RestTemplate对象。Fegin内置的Ribbon默认设置了请求超时时长,默认是1秒,我们可以通过手动配置来修改这个超时时长:
????或者为某一个服务指定:
????因为Ribbon内部有重试机制,一旦超时,会自动重新发起请求。如果不希望重试,可以添加配置:
7.4 Feign集成Hystrix????Feign默认也有对Hystrix的集成: Feign中的Fallback配置不像Hystrix中那样简单了 :
????可能遇到的问题: ????解决方法: ????修改Feign的客户端接口UserClient,不使用全局映射。
7.5 请求压缩[了解]????Spring Cloud Feign 支持对请求和响应进行GZIP压缩,以减少通信过程中的性能损耗。通过下面的参数即可开启请求与响应的压缩功能:
7.6 日志级别[了解]????在SpringBoot中,我们可以通过配置 logging.level.lxs.xx=debug 来设置日志级别。然而这个对Fegin客户端而言不会产生效果。因为@FeignClient 注解修改的客户端在被代理时,都会创建一个新的Fegin.Logger实例。我们需要额外指定这个日志的级别才可以。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/19 4:36:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |