前言
好久没在上发布文章了,最近在整理公司的架构,需要从新对Nacos中的配置进行归类,之前都是放在default_group这个分组下的,然后将配置这些配置按项目分组,分为duandao、cloud两个分组,也就是在同一个名称空间下,存在default_group、duandao、cloud,保留default_group的目的是为了防止配置从新分组后产生异常好回滚!更改完的配置如下
老default_group下的
新duandao、cloud下的
bootstrap配置
其中base-common.yml,在老的中多个项目是公用的,后来随着项目不断扩展,base-common.yml不能共用了,于是抽出duandao、cloud中各自独立一份base-common.yml。
问题
当我将default_group中的base-common.yml删除后,发现使用duandao、cloud这两个分组的项目缺少base-common.yml中的配置,启动报错,刚开始以为是Nacos的版本升级导致的问题,后来发现是bootstrap配置配置的问题,因为将配置按照group分组后不但需要设置config:group: 分组名,shared-configs也需要变更!
解决方案
说明:config:group: duandao只是去指定名称空间下的duandao分组下获取当前服务名对应的配置,而shared-configs中的公共配置如果没有指定,那么默认还是回去default_group分组下查找base-common.yml,所以需要更改为shared-configs[0],然后指定data-id和group,千万注意!!!