Feign 是什么|学习笔记

简介: 快速学习 Feign 是什么

开发者学堂课程【微服务框架 Spring Cloud 快速入门Feign是什么】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/614/detail/9359


Feign是什么

 

目录

一、了解Feign

二、知道Feign的作用

 

一、了解Feign

前面学习了Eureka 和 Ribbon,现在学习新的知识——Feign。

1、首先应该知道他是什么。

2、知道 Ribbon 有负载均衡,Feign 也带着负载均衡。

知道Feign:

读音 英【fein】  美【fein】    

Vt.假装;捏造

Vi.假装;装作    

什么是 Feign:

官网解释:

http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign

Feign 是一个声明式 WebService 客户端。使用 Feign 能让编写Web Service 客户端更加简单,它的使用方法是定义一个接口,然后在上面添加注解,同时也支持 JAX-RS 标准的注解。Feign 也支持可拔插式的编码器和解码器。 Spring Cloud 对 Feign 进行了封装,使其支持了 Spring MVC 标准注解和 HttpMessageConverters。Feign 可以与 Eureka 和 Ribbon 组合使用以支持负载均衡。

特征体系是一环扣一环。

第一要搭建一个新的目标

@Configuration

@ComponentScan

@EnableAutoConfiguration

@EnableEurekaClient

@EnableFeignClients

//第二个学一个 Enable xxx(某个组件的相关的标签)

public class Application {

public static void main(String[] args) {

Spr ingApplication. run(Application.class, args);

}

}

Feign是一个声明式的Web服务客户端的调用,使得编写Wbe服务客户端变得非常容易。

(接下来是重点)只需要创建一个接口,然后在上面添加注释Wbe服务客户端的调用。

参考官网:https://gjithub.com/OpenFeign/feign

打开参考官网网址,点击 Wiki,右下角里面有 Home、Custom error handling、Releasing Feign 的一些解释。

说一下前因后果:

之前大家用 ribbon 进行负载均衡,功能很强大,甚至可以自己定义算法。

Feign 是怎么出来的?

1、大部分的大家都可以介绍,直接调用微服务来进行访问。

打开前面的eclipse——microservicedoud-consumer-dept-80[boot] [——DeptController_Consumerjava复制

//private static final String REST_URL_PREFIX =”http://localhost:8001”;

地址修改为面向微服务编程

privece static final string REST_URL_PREFIX = http:/MICROSERVICECLOUD-DEFT“;

2、大家目前都习惯面向接口,比如:webService 接口,比如 DAO接口,这个已经是大家的规范

(1)微服务名字胡德调用地址

(2)就是通过接口+注释,获得我们的调用服务,

(3)适应社区其他程序员,还是同意的面向接口编写的套路——Feign

总之只需要创建一个接口,然后在上面添加注释即可。

@Mapper

public interface DeptDao

{

}

Feign 是一个声明式的 Web 服务客户端, 使得编写Web服务客户端变得非常容易,只需要创建一个接口, 然后在上面添加注解即可。

参考官网: hts:/github.com/OpenFeign/feign

 

二、知道Feign的作用

Feign 旨在使编写a va Http 客户端变得更容易。

前面在使用 Ribbon+ RestTemplate 时,利用 RestTemplate 对http 请求的封装处理,形成了-套模版化的调用方法。 但是在实际开发中,由于对服务依赖的调用可能不止一处,往往一个接口会被多处调用, 所以通常都会针对每个微服务自行封装些客户端类来包装这些依赖服务的调用。Feign 在此基础 上做了进步封装, 由他来帮助定义和实现依赖服务接口的定义。在 Feign 的实现下,只需创建一个接口并使用注解的方式来配置它(以前是 Dao 接口上面标注Mapper 注解,现在是个微服务接口上面标注一个 Feign 注解即可), 即可完成对服务提供方的接口绑定,简化了使用Spring cloud Rbbon 时,自动封装服务调用客户端的开发量。

简单一句话面向服务接口调用微服务上面加上注解就是 Feign 的定义和套路。

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
10月前
SpringCloud极简入门-Feign开启Hystrix
1.支付服务集成Hystrix 官方文档:https://cloud.spring.io/spring-cloud-static/Greenwich.SR5/single/spring-cloud.html#spring-cloud-feign-hystrix 支付服务 springcloud-pay-server-1040 之前集成了Feign,修改该工程集成Hystrix。我们除了要给Feign开启Hystrix以外还需要为Feign接口编写托底类。
108 0
|
4天前
|
Java Apache
Feign
Feign
7 0
|
4天前
|
负载均衡 Java 应用服务中间件
Ribbon、Feign和OpenFeign的区别来了
Ribbon、Feign和OpenFeign的区别来了
|
4天前
|
监控 安全 Java
深入理解Feign
深入理解Feign
87 2
|
4天前
|
负载均衡 监控 前端开发
Feign 与 OpenFeign
Feign 与 OpenFeign
44 0
|
7月前
|
负载均衡 Java
10SpringCloud - Feign简介
10SpringCloud - Feign简介
23 0
|
设计模式 缓存 Dubbo
SpringCloud——Feign远程调用(一)
SpringCloud——Feign远程调用(一)
71 0
SpringCloud——Feign远程调用(一)
|
JSON 负载均衡 算法
9、Eureka、Feign、Ribbon的工作原理及项目实战
在前后端分离架构中,服务层被拆分成了很多的微服务,Spring Cloud中提供服务注册中心来管理微服务信息
133 0
9、Eureka、Feign、Ribbon的工作原理及项目实战
|
负载均衡 算法 Dubbo
Ribbon 是什么|学习笔记
快速学习 Ribbon 是什么,Ribbon 是项目实战时所用到的 Nginx。本节课主要讲 Ribbon 是什么,主要作用以及如何去寻找官网资料,其中会讲到集中式 LB 和进程式 LB。
98 0