Feign是一个声明式Web服务客户端,能让编写web客户端更加简单,创建一个接口并在上面添加注解去使用Feign,它支持Feign注解和JAX-RS注解。Feign也支持可插拔式的编码器和解码器,Feign 默认整合了Eureka和Ribbon实现客户端负载均衡。
Feign核心是使得编写Java Http客户端变得更容易,使用接口和注解(类似Mybatis中Dao和@Mapper)来完成对服务提供者接口的绑定,从而简化操作。Feign集成了Ribbon,可以利用Ribbo实现负载均衡。
官方文档:
http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign
以下内容是基于上一节的工程,使用Feign 实现服务间通讯。
源码下载:https://github.com/hnyydp/microservice
(1)、模仿microservice-dept-consumer-80 新建一个消费者module模块 microservice-dept-consumer-feign
,添加Feign依赖
pom.xml
<!-- Feign依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
(2)、修改配置文件
server:
context-