springcloud之Feign(五)

前言

  Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。

环境搭建

----新建springcloud-consumer-dept-fegin子项目,和springcloud-consumer-dept-80基本一样。

① 新子项目的pom添加fegin依赖

② 在公共子项目springcloud-api中新建DeptClientService, 修改对应的pom文件

springcloud-api的pom文件要添加fegin依赖

③ 修改springcloud-consumer-dept-fegin相关类

  DeptController_consumer修改使用fegin调用接口

  DeptConsumer80_Fegin_App启动类添加注解

测试

先启动三个Eureka,再启动8001  8002  8003服务提供者,最后启动fegin微服务

测试路径:http://localhost/consumer/dept/list

Feign集成了Ribbon

  利用Ribbon维护了microservicecloud-Dept的服务列表信息,并且通过轮询实现了客户端的负载均衡,而与Ribbon不同的是,通过feign只需要定义服务绑定接口且以声明式的方法,优雅而简单的实现了服务调用

  Feign通过接口的方法,调用Rest服务 (之前是Ribbon+RestTemplate)
  该请求发送给Eureka服务器(http://MICROSERVICECLOUD-DEPT/dept/list),通过Feign直接找到服务接口,由于在进行服务调用的时候融合了Ribbon技术,所以也支持负载均衡作用;

原文地址:https://www.cnblogs.com/FondWang/p/12264574.html