Spring Cloud Feign 1(声明式服务调用Feign 简介)

Spring Cloud Feign基于Netflix Feign 同时整合了Spring Cloud Ribbon和Spring Cloud Hytrix,除了提供两者的强大功能外,它还提供了一种声明式的web服务客户端定义方式。

在ribbon的例子中我们尝试了使用RestTemplate来实现对依赖服务的接口调用,Spring Cloud Feign在此基础上做封装,由它来帮我们定义和实现依赖服务接口的定义。

首先新建一个工程命名为feign-consumer引入eureka和feign依赖

主类通过加入@EnableFeignClients注解开启Feign的支持功能

定义helloservice 通过@FeignClient("hello-service")注解指定服务名来绑定服务

后再使用SpringMVC的注解来绑定具体该服务提供的REST接口

接着创建一个ConsumerController来实现对Feign客户端的调用

application.properties配置如下

spring.application.name=feign-consumer
server.port=9002
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka

启动项目测试,效果同ribbon客户端负载一致

 

 至此通过Spring Cloud Feign以声明式的方法,优雅而简单地实现了服务调用

posted @ 2018-01-21 14:48  韩小鑫  阅读(283)  评论(0编辑  收藏  举报