Higress加载不到Nacos服务来源如何解决以及形成原因
·
目录
在此之前还碰到了SwitchHosts没有写入权限的问题,于是搜索到了这篇文章跟着来就解决了。
文章在这里👉SwitchHosts报错:没有写入 Hosts 文件的权限
一、解决办法
然后我们来解决加载不到来源的问题。

问题就出在了创建服务来源这里。

之前我在创建服务来源的时候填写了Nacos命名空间ID,当不填写的时候我发现Higress就能加载到服务列表了。

二、成因(根据自身情况选择解决办法)
原因就是我们的yml文件配置。大家根据自己的情况判断命名空间该不该写。
我的yml文件是这样的👇:
spring:
profiles:
active: dev
cloud:
nacos:
config:
server-addr: 192.168.0.99:8848
namespace: fc2e649f-4fab-49c7-a392-e2cc27a4e26d
file-extension: yaml
prefix: shopping_category_service
可以看见,我只写了 config 下面的 namespace,没有写discovery(服务注册)和它的 namespace,spring.cloud.nacos.config.namespace只管读取配置文件,不管服务注册。
所以我的服务注册到了默认public命名空间,只是配置文件从 dev 命名空间读取的。我创建填写的命名空间ID就是dev的这个ID。
如果yml文件是这样写的,就需要填写命名空间ID才能加载到服务来源👇:
spring:
cloud:
nacos:
config:
server-addr: 192.168.0.99:8848
namespace: fc2e649f-4fab-49c7-a392-e2cc27a4e26d
file-extension: yaml
prefix: shopping_category_service
discovery:
server-addr: 192.168.0.99:8848
namespace: fc2e649f-4fab-49c7-a392-e2cc27a4e26d #和config保持一样
总结:config 管配置,discovery 管服务注册,命名空间要分开写,不会互相继承
更多推荐



所有评论(0)