Feign的使用
来源:互联网 发布:win8如何更改网络类型 编辑:程序博客网 时间:2024/06/05 15:20
链接 : spring社区 http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign
github https://github.com/OpenFeign/feign
简书 http://www.jianshu.com/p/46ef7e378aa0
原理:通过@EnableFeignClient注解开启@FeignClient
再具体接口上添加@FeignClient注解,并添加配置类和server名称
程序启动后,spring会自动扫描所有注解,并构建Bean添加到IOC容器中
当接口方法被调用时,请求会被拦截,之后jdk通过代理根据请求参数生成一个RequestTemplate(http请求的模板),并调用方法执行这个模板获得http请求的response
执行的过程是,由RequestTemplate生成Request,并交给Client处理
Client组件是用来发送请求的客户端,Client可以由HttpUrlConnection,HttpClient, OkHttp实现,默认为HttpUrlConnection。
我们可以通过更改Feign的配置来自己定制Client,Client被封装到LoadBalanceFeignClient实现负载均衡
配置:对于每一个被@FeignClient注解了的接口,我们可以添加自己定制的配置类修改默认的配置项。自定义的配置会覆盖默认配置项。为了防止配置被扫描导致所有接口都被 覆盖,实现的配置类最好放在不同的package中。
默认实现的配置Bean有: Decoder, Encoder, Logger, Contract Feign.Builder
可自己添加的配置Bean有: Logger.Level , Retryer, ErrorDecoder, Request.Options, Collection<RequestInterceptor>
各配置项的解释:http://blog.csdn.net/zheng0518/article/details/65635357
Feign与Ribbon
Feign自动实现Ribbon的负载均衡。实现原理是当负责发送请求的Client准备就绪后,会被封装到LoadBalancerFeignClient类中。
这个类实现了Ribbon的负载均衡。
- Feign的使用
- Spring Cloud Feign 的使用注意事项
- Spring Cloud(Netflix) Feign: 以Dubbo暴露服务的方式使用Feign
- Spring Cloud Feign 使用feign client时遇到的一个坑
- feign-使用最佳实践
- springcloud中的feign使用
- spring boot 使用feign
- Spring Cloud feign使用
- Spring Eureka的使用与Spring feign的调用
- spring cloud-Feign使用中遇到的问题总结
- 八、声明式 REST 客户端-Feign 的使用
- Spring Cloud 的 Hystrix 在 Feign上使用 Hystrix功能
- spring cloud使用Feign实现远程接口的调用
- Spring Cloud中如何优雅的使用Feign调用接口
- Feign的自定义配置
- Feign
- Feign
- 使用feign调用restful服务
- 奋斗群群赛4总结与心得
- 做到这些_才算是顶级程序员
- Java参数传递小结
- 使用express搭建了框架后,用multer处理post请求传的文件或图片注意的问题
- 分页插件(二)
- Feign的使用
- HDU 4642
- Sql语句增加列,修改列,删除列
- oracle数据库导表
- 【UWP开发】Unity如何使用UWP接入xbox live
- Android 修饰Layout
- 史上最口语化Arduino入门教程——1.3模拟IO口
- QPushButton文本对齐
- XListView的简单使用