作者:禅与计算机程序设计艺术
1.简介
在微服务架构下,各个服务之间通常会存在依赖关系,所以需要一个解决方案来进行相互调用。Spring Cloud 是由 Pivotal 团队提供的一系列框架,其中包括 Spring Boot、Spring Cloud Netflix 和 Spring Cloud Alibaba,其中 Spring Cloud Feign 提供了声明式 Web 服务客户端。
Feign是一个声明式的Web Service客户端,它使得编写Web Service客户端变得简单。通过Feign,只需创建一个接口并用注解来配置它,即可完成对指定HTTP方法的Web服务接口的代理生成。他可以与Contract(契约)一起工作,当Contract定义好了之后,Feign就能够根据这个契约自动生成正确的REST客户端实现。
Spring Cloud OpenFeign接口请求代理
OpenFeign 是一个基于Ribbon和Hystrix实现的声明式Web服务客户端,帮助开发者创建高级REST客户端。由于Feign接口请求代理功能强大,而且提供了非常方便的拦截器功能,所以建议大家尽量使用OpenFeign接口请求代理功能。
其主要特点如下:
(1)支持负载均衡
可以指定服务名或IP地址的方式,利用ribbon进行负载均衡。