Feign使用原理

简介: Feign使用原理

Feign Client会在底层根据你的注解,跟你指定的服务建立连接、构造请求、发起靕求、获取响应、解析响应,等等。这一系列脏活累活,人家Feign全给你干了。

那么问题来了,Feign是如何做到这么神奇的呢?很简单,Feign的一个关键机制就是使用了动态代理。咱们一起来看看下面的图,结合图来分析:

首先,如果你对某个接口定义了@FeignClient注解,Feign就会针对这个接口创建一个动态代理

接着你要是调用那个接口,本质就是会调用 Feign创建的动态代理,这是核心中的核心

Feign的动态代理会根据你在接口上的@RequestMapping等注解,来动态构造出你要请求的服务的地址

最后针对这个地址,发起请求、解析响应

相关文章
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接口编写托底类。
191 0
|
设计模式 负载均衡 Nacos
远程调用 OpenFeign 底层原理解析
Feign 是Springcloud 提供一个声明式的伪Http客户端 它使得调用远程服务就像调用本地服务一样简单 只需要创建一个接口 并且添加注解就可以 Nacos 很好的兼容Feign Feign 默认集成了Ribbon 所以在Nacos 下使用Fegin 默认就实现了负载均衡的效果
1772 0
远程调用 OpenFeign 底层原理解析
|
7月前
|
负载均衡 Java 应用服务中间件
Ribbon、Feign和OpenFeign的区别来了
Ribbon、Feign和OpenFeign的区别来了
313 2
|
7月前
|
JSON Java 关系型数据库
【Feign】 基于 Feign 远程调用、 自定义配置、性能优化、实现 Feign 最佳实践
【Feign】 基于 Feign 远程调用、 自定义配置、性能优化、实现 Feign 最佳实践
283 0
|
7月前
|
负载均衡 前端开发 Java
openfeign远程调用的底层原理?
openfeign远程调用的底层原理?
|
负载均衡 Dubbo Java
简单理解Feign的原理与使用
简单理解Feign的原理与使用
241 0
|
设计模式 缓存 Dubbo
|
消息中间件 JavaScript 小程序
Spring 6 正式“抛弃”feign
Spring 6 正式“抛弃”feign
|
JSON 负载均衡 算法
9、Eureka、Feign、Ribbon的工作原理及项目实战
在前后端分离架构中,服务层被拆分成了很多的微服务,Spring Cloud中提供服务注册中心来管理微服务信息
190 0
9、Eureka、Feign、Ribbon的工作原理及项目实战
|
负载均衡 前端开发 网络协议
feign的使用及原理
feign的使用及原理
1080 0
feign的使用及原理