SpringBoot 应用启动时, 由于 @EnableFeignClient 这一注解,会去扫描所有被@FeignClient 注解的类
扫描到这些接口时,由于我们并没有编写对应的实现类,所以会基于面向接口的动态代理方式, 为 其 创建一个动态接口代理对象。解析contract契约,解析出methodhandler。
当业务请求真实发生时, 再先是通过反射读取到 @FeignClient中的服务名,执行服务发现过程,再负载均衡: 集成了ribbon负载均衡器实现,最后服务调用:获取请求路径、参数等配置信息,通过反射读取到SpringMVC的注解获得,序列化反序列化,发送请求,获得响应,返回