OpenFeign是声明式、模板化的HTTP请求客户端,更优雅的调用http api
OpenFeign会根据注解构建出网络请求模板
Feign主要是构建微服务消费端,只要是使用OpenFeign提供的注解定义请求的接口类,就可以使用该接口的实例发送RESTful的网格请求,还可以集成Ribbon和Hystrx,提供负载均衡和断路器。
Feign本生不支持Spring MVC的注解,他有自己的一套注解,OpenFeign是Spring Cloud在Feign的基础上支持了Spring MVC的注解
关于Feign的细节
- OpenFeign默认所有带参数的请求都必须是Post请求
- OpenFeign是通过解析接口上的注解,来组装请求的URL,但并不发送请求
- 可以使用定义聚合项目的服务接口协议,来规范服务提供者的暴露接口,及调用方调用方式
- 启动类要添加@EnableFeignClients注解
- 实现聚合项目中提供的接口,且添加注解@FeignClient(name="服务提供者的服务名")
OpenFeign与Ribbon的整合使用
OpenFeign自带Ribbon,Ribbon默认使用轮巡策略,同时对调用超时、逻辑超时及重试策略,可以进行相应配制
#连接超时时间(ms)
ribbon.ConnectTimeout=1000
#业务逻辑超时时间(ms)
ribbon.ReadTimeout=2000
#同一台实例最大重试次数,不包括首次调用
ribbon.MaxAutoRetries=3
#重试负载均衡其他的实例最大重试次数,不包括首次调用
ribbon.MaxAutoRetriesNextServer=3
#是否所有操作都重试
ribbon.OkToRetryOnAllOperations=false
1196

被折叠的 条评论
为什么被折叠?



