FeignClient的调用过程

前言

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

调用过程

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

2、构建模板并开始调用远程方法并对放回结果进行解码
FeignClient的调用过程_第2张图片
如果第一次请求失败,那么会启动重试机制,重试默认最大次数为5
FeignClient的调用过程_第3张图片

3、记录相关日志,并调用client.execute方法
FeignClient的调用过程_第4张图片
4、执行远程调用方法
FeignClient的调用过程_第5张图片
至此,FeignClient 的执行过程就基本完毕了。

你可能感兴趣的:(java,后端,java)