apollo icon indicating copy to clipboard operation
apollo copied to clipboard

成功关联上公开的命名空间,但是获取不到配置信息

Open EachShow opened this issue 1 year ago • 6 comments

描述bug

我在Apollo配置界面上,已经将UIMS应用的配置关联上公共的配置,所有配置都已经发布。UIMS已经默认引用了私有的Application命名空间 我在UIMS的Apollo配置节点中,如果不在Namespaces中将引用的公共配置的命名空间列出来,那么UIMS就拉取不到公共的配置信息。 只要在Namespaces中将引用的公共的命名空间列出来,UIMS应用就可以正常获取到公共的配置信息

复现

通过如下步骤可以复现:

可以正常接到公共配置的Section配置 "Apollo": { "AppId": "UIMS", "Env": "DEV", "MetaServer": "http://localhost:8080/", "Namespaces": [ "Dev.ElasticSearch", "Dev.RabbitMQ", "Dev.Swagger", "Dev.Wechat", "Dev.Redis" "Dev.MinIO", "Dev.NLog" ] }

不能拉到公共配置的Section配置 "Apollo": { "AppId": "UIMS", "Env": "DEV", "MetaServer": "http://localhost:8080/" }

期望

配置信息在Apollo上,建立好关联继承关系后,UIMS不需要关注引用了哪些公共的配置命名空间,只需要引用自己私有的Application即可

截图

image

额外的细节和日志

  • 版本:2.10.0
  • 错误日志
  • 配置:
  • .net6

EachShow avatar Mar 03 '23 13:03 EachShow

功能上就是这样设计的。

nobodyiam avatar Mar 04 '23 00:03 nobodyiam

那这个关联主要是什么用呢?建议关联之后,就可以直接获取到继承过来的配置信息。

EachShow avatar Mar 06 '23 02:03 EachShow

关联是为了可以覆盖公共配置,如果不需要覆盖就不需要主动关联

nobodyiam avatar Mar 07 '23 00:03 nobodyiam

强烈建议,在Apollo配置中心上关联上公共的命名空间后,项目上就不需要再添加命名空间的配置信息了,直接继承所有关联的公共配置信息。 这样以来,整个配置中心的管理,跟项目配置就完全解耦了,项目打包啥的,就更简单了,后续都无须关注配置的调整。

EachShow avatar Mar 07 '23 06:03 EachShow