Springcloud: feign调用时用注册中心的服务名是如何调通的?

发布于 2022-09-12 00:34:03 字数 325 浏览 28 评论 0

使用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居然用服务名调用,中间是怎么路由的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅浅淡淡 2022-09-19 00:34:03

提供服务名到实例地址映射(负载均衡)的不是 feign 而是 ribbonfeign 只是负责构造 RestTemplate 之类的东西.

除非你在 @FeignClient 上直接通过 url 指定去哪个实例.

url 指定的话理论上来说这个地址甚至不需要是注册到服务发现中心的实例,不过我没试过,你有兴趣可以试试.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文