作者:禅与计算机程序设计艺术
1.简介
Feign是一个声明式WebService客户端,它使得编写web service客户端变得非常容易。Feign集成了Ribbon,利用Ribbon可以基于负载均衡策略配置RestTemplate。通过注解的方式来定义接口,就像定义本地接口一样,然后由Feign创建出实现Webservice接口的HTTP客户端。在使用Feign时,只需定义服务名和对应的请求方法即可,至于如何连接到Webservice服务器这一过程则交给了Ribbon来管理。Spring Cloud Feign的主要优点包括:
- 使用简单。只需要添加依赖spring-cloud-starter-feign,然后按照注解定义自己的API接口,就可以轻松地调用其他微服务提供的RESTful API。
- 支持负载均衡。可以基于Ribbon的负载均衡功能,实现微服务之间的负载均衡。
- 降低耦合度。在使用Feign时,消费者不再需要关注底层的HTTP通讯细节,而是直接调用接口,屏蔽了各种网络传输、序列化等复杂性。
- 有利于接口的版本控制。可以基于URI或者其他属性对服务进行版本化。
2.基本概念及术语说明
- Ribbon:负载均衡器组件,基于JAVA开发,可用于云端计算资源动态管理和故障切换。主要功能是在应用启动时&#x