使用nacos做注册中心,feign调用开debug日志,发现调用的地址是
GET http://user-sys/user/id/1212702097573679106
用的是服务名user-sys,而不是IP:Port, 我的理解是,当feign调用时,发现服务名是user-sys,就从注册中心的列表中获得对应的IP:Port,然后feign调用地址是
GET http://IP:Port/user/id/1212702097573679106
但是feign居然用服务名调用,中间是怎么路由的?
提供服务名到实例地址映射(负载均衡)的不是 feign 而是 ribbon,feign 只是负责构造 RestTemplate 之类的东西.
除非你在 @FeignClient 上直接通过 url 指定去哪个实例.
用 url 指定的话理论上来说这个地址甚至不需要是注册到服务发现中心的实例,不过我没试过,你有兴趣可以试试.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。