此刻不是此刻 2022-05-04 14:52 采纳率: 42.9%
浏览 62
已结题

刚学习spring cloud,想问下openfeign是如何能够找到注册中心

刚开始学习spring cloud,想问下openfeign是如何能够找到注册中心的
注册中心以Eureka为例,在某个微服务上引入openfeign后和eureka-client后,这两者之间是如何联动,能够通过@FeignClient注解找到eureka的注册中心,从注册中心上寻找到服务后进行远程调用的,明明代码里也没有使用什么注解之类的东西进行关联,求指教!

img

img

img

  • 写回答

2条回答 默认 最新

  • a1767028198 2022-05-04 15:22
    关注

    你确定刚学怎么用的时候,你就要知道怎么来的吗????

    入口在EnableFeignClients,核心在import(FeignClientsRegistrar)(自行百度为啥启动会回调到这个类)

    img

    FeignClientsRegistrar实现了ImportBeanDefinitionRegistrar

    img

    ImportBeanDefinitionRegistrar的回掉方法中,看到明显的注册feignclient api,registerFeignClients

    img

    最终走到org.springframework.cloud.openfeign.FeignClientsRegistrar#registerFeignClient方法,
    看到FeignClientFactoryBean你就成功一半了

    img

    FeignClientFactoryBean实现了FactoryBean,容器创建bean回调会走到getObject方法,

    img

    看到loadBalance就知道为啥会负载均衡了吧
    ps:当你FeignClient注解写了url的时候,就不会生成负载均衡客户端了,换言之负载均衡就会失效了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月20日
  • 已采纳回答 5月12日
  • 创建了问题 5月4日

悬赏问题

  • ¥15 请问如何在openpcdet上对KITTI数据集的测试集进行结果评估?
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错