问题现象

开发应用时,使用本地或自建Nacos进行配置,但将应用部署到EDAS后,Nacos的配置失效。

可能原因

EDAS提供了Nacos的商用版本,基于Nacos开发的应用部署到EDAS之后,EDAS会自动将您的Nacos server地址替换为EDAS提供的Nacos商用版本地址,如果有特殊需求,也可以继续使用自建Nacos。两种选择的处理方式不同,如果处理不妥,也可能造成Nacos的配置在EDAS中未生效。

  • 使用EDAS的配置中心,但未将本地或自建Nacos中的配置同步到EDAS的配置中心。
  • 继续使用自建Nacos,但未在应用中设置参数,导致Nacos Server地址被替换为EDAS配置中心。
注意 如果Nacos Client的版本低于1.0.1,也会导致异常。

解决方案

  1. 请确保使用的Nacos Client为1.0.1及以上版本。
  2. 确认是否使用EDAS配置中心对应用进行配置管理。
    • 是,在对应命名空间下的配置管理中创建并同步该应用使用的本地或自建Nacos中的配置,具体操作,请参见创建配置
    • 否,即继续使用自建Nacos,请执行步骤2
  3. 在应用配置中添加以下两个参数,请参见设置JVM参数,然后重启应用。

    也可以在开发应用时就设置以下参数,以免自建的Nacos在应用部署到EDAS时被替换。

    -Dnacos.use.endpoint.parsing.rule=false
    -Dnacos.use.cloud.namespace.parsing=false