Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

声明式的Web服务客户端定义方式

在Spring Cloud Feign的实现下,只需创建一个借口并用注解的方式来配置它,即可完成对服务提供方的接口绑定,简化了在使用Spring Cloud Ribbon时自行封装服务调用客户端的开发量。

  • 依赖

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

  • 方法

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

  • 启动类

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

  • 配置

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

参数绑定

与Spring MVC一致

Ribbon配置

  • 全局配置

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

  • 指定服务配置

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

重试机制

user-service设置Thread.sleep(),如上文,延迟超过2000的请求,会再进行重试

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

Hystrix配置

  • 全局配置

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

  • 禁用Hystrix

如果只想针对某个服务客户端关闭Hystrix支持时,需要通过使用@Scope("prototype")注解为指定的客户端配置Feign.Builder实例

Spring Cloud及微服务(五):声明式服务调用Spring Cloud FeignSpring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

  • 指定命令配置

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

服务降级配置

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

其他配置

  • 请求压缩

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

  • 日志配置

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

配置所有

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

指定客户端

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign

Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign