微服务-SpringCloud学习系列(四): 服务调用Feign

在使用RestTemplate和Ribbon调用服务的时候,仍然依赖URL,而且如果调用的服务需要多个参数的时候将非常麻烦,这就需要一种更简单的服务调用方式Feign.

1.什么是Feign

Feign是Netflix开发的声明式的Http客户端。

Spring Cloud对Feign进行了增强,使Feign支持了Spring MVC注解,并整合了Ribbon和Eureka,从而让Feign的使用更加方便。

Spring Cloud Feign是基于Netflix feign实现,整合了Spring Cloud Ribbon和Spring Cloud Hystrix,除了提供这两者的强大功能外,还提供了一种声明式的Web服务客户端定义的方式。

Spring Cloud Feign具备可插拔的注解支持,支持Feign注解、JAX-RS注解和Spring MVC的注解。

2.Feign的简单使用

①引入依赖

 ②配置调用接口

 ③在启动类激活Feign,在启动类增加@EnableFeignClients注解

④通过自定义的接口调用服务

 3.Feign的负载均衡

 因为Feign不需要使用RestTemplate进行服务调用,不使用@LoadBalanced注解就可以实现负载均衡。

可以参考Ribbon的配置方式配置负载均衡策略

4.Feign的数据压缩配置

 5.Feign的日志配置

 

  6.Feign源码简析

  7.总结

在微服务中使用Feign进行服务之间的调用,支持负载均衡,数据压缩,日志配置。

原文地址:https://www.cnblogs.com/masting/p/12824945.html