• 微服务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中的同样,这个是个要思考的问题。

  • 相关阅读:
    PHP基础语法(上)
    记一次http接口自动重试现象的排查
    一文聊透 Netty 核心引擎 Reactor 的运转架构
    我的创作纪念日 | 软件测试成长之路
    【Java-----IO流(一)之字节流详解】
    啊哈,终于知道了怎么获取网站的logo
    计算机网络基础学习(一)
    [杂谈] [杂谈]老实人要突破的想法,显眼包?
    算法:轮转数组---循环取模运算
    谈谈数据分析晓知识
  • 原文地址:https://blog.csdn.net/interestANd/article/details/125596061