FeignClient的调用过程

本文详细解析了FeignClient的远程调用过程。从ReflectiveFeign的invoke方法开始,包括先决条件验证、构建模板、重试机制、日志记录和客户端执行,一步步揭示了FeignClient如何执行远程方法并处理响应。

前言

小猿对于远程调用一直感到非常神秘,今天小猿就跟踪一下远程调用的整个过程。

调用过程

1、在保证服务没有错误的前提下开始远程调用,首先程序会进入ReflectiveFeign中的invoke方法,并执行invoke函数中的先决条件验证,如果说toString方法或者hashCode方法一样或者说是同一个FeignClient,就不继续往下执行。
在这里插入图片描述

2、构建模板并开始调用远程方法并对放回结果进行解码
在这里插入图片描述
如果第一次请求失败,那么会启动重试机制,重试默认最大次数为5
在这里插入图片描述

3、记录相关日志,并调用client.execute方法
在这里插入图片描述
4、执行远程调用方法
在这里插入图片描述
至此,FeignClient 的执行过程就基本完毕了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值