Feign 的工作流程:
- 启动时 ReflectiveFeign 通过 jdk 动态代理方式生成 FeignClient 的代理。

- 调用 invoke() 时,生成 RequestTemplate 封装了 uri ,请求参数等信息。

- 在 executeAndDecode() 中用 RequestTemplate 构造出 Request 对象。

- 调用 LoadBalancerFeignClient.execute() 去发送 http 请求。

- 获得 response 之后,根据 code 来进行 decode 将报文组装成对象。
