feign调用源码阅读

最近准备画一个系统服务间调用关系图,但具体到feign这里是怎么调用到另一个系统去,却始终不了解,典型应用,我们在声明feign接口时,只增加了一个接口,只声明了一个feign client name,如下图所示:

那么messageService是如何调用到具体的服务节点的,我们来调试一下:

调用开始


不是hashcode不是toString正式开始调用


此时url已经拼接上,feign定义clientname


居然调用了robbin的loadbalance



继续跟,来到loaderbalancercontext


很明显lb中存有着从注册中心拿到的实例列表,chooseServer根据负载均衡的策略选择了一个实例,我们在feign声明的服务名称,即nacos注册服务名,已经替换为对应ip

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容