• 微服务Eureka注册中心地址配置不生效


    问题描述

    项目中用了apollo作为配置文件的注册中心,Eureka作为服务注册中心。无论我怎么修改配置文件中的注册中心地址都不生效。
    在这里插入图片描述

    踩坑过程

    我有两个Eureka注册中心,一个是本地开发用,一个是测试环境的。我在本地开发环境上测试应用能被正常地注册到Eureka本地开发注册中心,然后我想直接注册到Eureka测试环境注册中心,方便服务调用调试。可是无论我怎么修改eureka.client.service-url.defaultZone都一律不生效,甚至我直接写空字符串都不能注册到注册中心,可是控制台日志输出又提示注册成功。
    在这里插入图片描述
    我非常困惑,在怀疑我没有加服务发现注解之类的,pom.xml没有导入依赖之类的。都试过了不行。然后我就想看看当初为什么可以注册到Eureka本地开发注册中心,我就随手打开了本地开发注册中心的管理页面,结果发现应用被注册到了Eureka本地开发注册中心!!!

    巨坑

    为什么会这样?我的eureka.client.service-url.defaultZone明明就是测试环境的地址,为什么不生效?不生效就算了还注册到其它地方去了!知道爸找得多辛苦吗!

    问题解决

    首先是怀疑我在其它地方的yml文件把我这里的覆盖掉了,检查了一大堆module都没有发现。全局搜索Eureka本地开发注册中心也没有找到任何信息。
    在这里插入图片描述
    后面我突然想到,项目中用了apollo,也只有在这里配置了Eureka本地开发注册中心地址,于是我在apollo的管理界面,修改了一下配置
    在这里插入图片描述
    apollo的配置属性与yml的配置属性完全一致,都是eureka.client.service-url.defaultZone,我大胆推测是不是就是这里覆盖了我yml配置文件的注册中心地址,于是我先在apollo上将地址配置成Eureka测试环境注册中心,一运行测试,成功了。

    总结

    本次异常发生的原因就是apollo的配置覆盖了本地yml的配置,无论本地配置怎么修改都不会生效了的。所以我们在开发过程中一定要注意这种情况,apollo的配置属性名是否要和yml中的同样,这个是个要思考的问题。

  • 相关阅读:
    [附源码]计算机毕业设计室内设计类网站Springboot程序
    【算法训练营】 - ⑩ 并查集与图
    Android通过RecyclerView实现手风琴效果
    CAS还能这样理解??
    计算机网络 | TCP 连接的建立 和 TCP 连接的断开
    社区系统项目复盘-4
    【LeetCode】3. 无重复字符的最长子串
    Getx系列之Dialog
    [从零开始学习FPGA编程-40]:进阶篇 - 设计-竞争与风险Risk或冒险
    C++ string类模板
  • 原文地址:https://blog.csdn.net/interestANd/article/details/125596061