SpringCloud之openFeign

Spring Cloud的子项目之一,Spring Cloud OpenFeign以将OpenFeign集成到Spring Boot应用中的方式,为微服务架构下服务之间的调用提供了解决方案。

首先,利用了OpenFeign的声明式方式定义Web服务客户端;其次还更进一步,通过集成Ribbon或Hystrix实现负载均衡和服务容错的HTTP客户端。

相比与Ribbon和RestTemple 在cloud项目中的运用。feign的好处是及其明显的,至少提供了服务的统一管理

既可以根据ribbon和hystrix和配置来配置

ribbon:
ReadTimeout: 3000
# ConnectTimeout: 3000
# MaxAutoRetries: 1 #同一台实例最大重试次数,不包括首次调用
# MaxAutoRetriesNextServer: 1 #重试负载均衡其他的实例最大重试次数,不包括首次调用
# OkToRetryOnAllOperations: false #是否所有操作都重试
# 可以使用feign配置 配置类为FeignClientProperties
#hystrix的超时时间
hystrix:
command:
default:
execution:
timeout:
enabled: true
isolation:
thread:
timeoutInMilliseconds: 9000

  

也可以使用feign自己的配置

feign:
client:
config:
feignName:
connectTimeout: 5000
readTimeout: 5000
loggerLevel: full
errorDecoder: com.example.SimpleErrorDecoder
retryer: com.example.SimpleRetryer
requestInterceptors:
- com.example.FooRequestInterceptor
- com.example.BarRequestInterceptor
decode404: false

  

05-28 22:52