springcloud实战之6 服务消费者(Feign)
2017-12-14 09:31
746 查看
上一篇介绍了 springboot实战之服务消费者(ribbon) 消费服务,本篇介绍利用Feign消费服务。
简介
Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。创建服务消费者(springcloud-consumer-feign)
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath /> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Edgware.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
添加入口类(SpringCloudConsumerFeignApplication.java)
@SpringBootApplication @EnableDiscoveryClient @EnableFeignClients public class SpringCloudConsumerFeignApplication { public static void main(String[] args) { SpringApplication.run(SpringCloudConsumerFeignApplication.class,args); } }
添加配置文件(application.yml)
server: port: 8003 spring: application: name: springcloud-consumer-feign eureka: client: service-url: defaultZone: http://peer1:8080/eureka/[/code]新建service层接口
定义一个feign接口,通过@FeignClient(“服务名”),来指定调用哪个服务。@FeignClient(value = "springcloud-producer-rest") public interface ISchedualRestService { @GetMapping("/api/rest/info") String info() ; }新建web层接口
对外暴露http接口@RestController @RequestMapping("/api/rest") public class RestfulController { @Autowired private ISchedualRestService iSchedualRestService ; @GetMapping(value = "/getMessage") public String getMessage(){ return iSchedualRestService.info() ; } }启动项目
1.启动springcloud-eureka-server集群,端口分别为 8080,8090
2.启动springcloud-producer-rest,端口分别为 8001
3.启动服务消费者springcloud-consumer-feign。端口 8003
访问效果:
访问服务接口效果参考文档
spring-cloud-feign源码
springcloud-server-eureka
springcloud-producer-rest
springcloud-consumer-feign历史文章
springcloud实战之高可用服务注册中心(eureka集群)
springcloud实战之服务注册与发现(eureka实现)
springcloud实战之技术选型:dubbo还是springcloud
springboot实战之服务消费者(ribbon)
相关文章推荐
- Spring Cloud(四)服务提供者 Eureka + 服务消费者 Feign
- 一起来学SpringCloud之 - 服务消费者(Feign-上)
- SpringCloud--服务消费者(Feign)
- 一起来学SpringCloud之 - 服务消费者(Feign-下)
- Spring Cloud学习:02服务消费者(Ribbon&Feign)
- Spring Cloud(服务的消费者 Feign)
- Spring Cloud(四)服务提供者 Eureka + 服务消费者 Feign
- (Spring Cloud微服务实战-书中之坑)spring cloud feign同时使用继承特性和断路器
- SpringCloud: 服务消费者(Feign)
- SpringCloud之服务消费者Feign(三)
- SpringCloud之服务消费者Feign(三)
- 白话SpringCloud | 第四章:服务消费者(RestTemple+Ribbon+Feign)
- SpringCloud入门3:服务消费者(Feign)
- SpringCloud教程 | 四.服务消费者(Feign)
- 玩转SpringCloud(F版本) 二.服务消费者(2)feign
- [bigdata-108] spring-cloud-04 分布式服务的feign消费者
- springcloud实战之5 服务消费者(ribbon)
- SpringCloud 学习 | 第四篇: 服务消费者 feign
- SpringCloud入门教学|第三篇:服务消费者(Feign)
- SpringCloud教程 | 第三篇: 服务消费者(Feign)