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-consumerserver.port=9002eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka

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

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

转载于:https://www.cnblogs.com/HanShisi/p/8324206.html

Spring Cloud Feign 1(声明式服务调用Feign 简介)相关推荐

  1. SpringCloud之声明式服务调用 Feign(三)

    一 Feign简介 Feign是一种声明式.模板化的HTTP客户端,也是netflix公司组件.使用feign可以在远程调用另外服务的API,如果调用本地API一样. 我们知道,阿里巴巴的doubbo ...

  2. Spring Cloud之(十一)服务调用Feign

    十一.服务调用Feign 11.1 Feign简介 Feign是Netflix开发的声明式,模板化的HTTP客户端,其灵感来自Retrofit,JAXRS-2.0以及WebSocket. Feign可 ...

  3. Eclipse(STS) 初次搭建Spring Cloud项目之声明式REST调用+负载均衡实现Feign(四)

    一.什么是Feign Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用.Feign通过处理注解,将请 ...

  4. 声明式服务调用feign原理图解

    https://www.cnblogs.com/crazymakercircle/p/11965726.html

  5. SpringCloud Feign声明式服务调用

    SpringCloud Feign声明式服务调用 1. 加入pom依赖 2. Application.java上声明@EnableFeignClients 3. @FeignClient声明接口调用服 ...

  6. SpringCloud实战5-Feign声明式服务调用

    SpringCloud实战5-Feign声明式服务调用 在前面的文章中可以发现当我们通过RestTemplate调用其它服务的API时,所需要的参数须在请求的URL中进行拼接,如果参数少的话或许我们还 ...

  7. 04.声明式服务调用:Spring Cloud Feign(Greenwich.SR2)

    1.Feign是什么 Feign是整合了Ribbon与Hystrix外,还提供了声明式的Web服务客户端定义方式.采用了声明式API接口的风格,将Java Http客户端绑定到它的内部.Feign的首 ...

  8. 两个子集pom互相调用_声明式服务调用组件Feign

    什么是Feign?    Feign是SpringCloud组件中的一个轻量级RESTful的HTTP服务客户端.Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务. 什么是 ...

  9. feign和ajax,SpringCloud-feign 声明式服务调用

    以前学习java,一般就一个后端,都要学习如何在容器中运行,如tomcat,weblogic,现在微服务颠覆了这一切,一个系统要被拆分成多个服务,服务与服务间需要通信,让我想到了前端的ajax,jav ...

最新文章

  1. 国产研发管理工具也在慢慢壮大,Worktile7岁了!
  2. Mongodb数据查询 | Mongodb
  3. 使用IPSec加强系统安全性
  4. 读书到底为了什么,读研到底值不值?
  5. 开源Dapper的Lambda扩展-Sikiro.Dapper.Extension V2.0
  6. 百度地图infowindow的close事件_百度地图蒙圈:车主要加油误导母婴店 跑偏理由令人啼笑皆非...
  7. 万万没想到,JVM内存结构的面试题可以问的这么难?
  8. sql简介_SQL简介
  9. 【重要+细节】LeetCode 149. Max Points on a Line
  10. tomcat监听activemq jms配置
  11. 多线程Thread和Runnable
  12. PS新手教程,教你打造一个炫酷的冰冻字效_桂桂博客
  13. ant design 动态给a-input设置默认值
  14. vscode开启鼠标滚轮缩放字体大小设置
  15. 实验室cobot开发小tips
  16. java 抽奖系统_【小型系统】抽奖系统-使用Java Swing完成
  17. zynq Linux软件中断,Linux Zynq GPIO中断
  18. 原来路由器也属于消耗品
  19. PPT之幻灯片中的大纲选项卡
  20. 【STM32单片机入门】学习资源推荐,学习经验分享

热门文章

  1. python赋值标志_Python中的赋值、引用和深浅拷贝
  2. 子类和父类对象在进行类型转换时_不一样的面向对象(三)
  3. 银行业务队列简单模拟Java程序设计_PTA 数据结构 银行业务队列简单模拟
  4. Hibernate之Inverse的用法
  5. 手把手教你如何扩展GridView之个性分页
  6. Redis数据类型(上)
  7. 2018.11.07-1015-幸运字符串查询 (lucky)
  8. CentOS7.2部署KVM虚拟机
  9. 如何利用系统自带的小工具制作特殊字符
  10. VCGLib中邻接关系的实现