SpringCloud初级篇之OpenFeign
1. OpenFeign简介
- 与dubbo相似,可通过消费者controller调用提供者service层方法。
- 与之不同的是,OpenFeign只能调用提供者的controller,即,将controller作为接口,消费者来调用这个接口的方法。
- 相当于调用提供者的controller,与RestTemplate没有本质区别
1.1 Feign作用
- Feign中集成了Ribbon,并在Ribbon+Rest Template的基础上进一步封装。(只需创建一个接口并使用注解的方式来配置)简化了使用SpringcloudRibbon时,自动封装服务调用客户端的开发量。
- Feign利用Ribbon维护了Payment的服务列表信息,并通过轮询实现了客户端的负载均衡。
- 但,与Ribbon区别是,feign只需定义服务绑定接口且以声明式的方法,更简单的实现了服务调用。
- Feign自带负载均衡配置,不用手动配置。
1.2 项目测试
- 创建消费者模块:cloud-consumer-feign-order80
- pom.xml文件中添加依赖
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>com.usan.commons</groupId>
<artifactId>cloud-api-commons</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>