前言
小猿对于远程调用一直感到非常神秘,今天小猿就跟踪一下远程调用的整个过程。
调用过程
1、在保证服务没有错误的前提下开始远程调用,首先程序会进入ReflectiveFeign中的invoke方法,并执行invoke函数中的先决条件验证,如果说toString方法或者hashCode方法一样或者说是同一个FeignClient,就不继续往下执行。
2、构建模板并开始调用远程方法并对放回结果进行解码
如果第一次请求失败,那么会启动重试机制,重试默认最大次数为5
3、记录相关日志,并调用client.execute方法
4、执行远程调用方法
至此,FeignClient 的执行过程就基本完毕了。