问题一:命名空间未使用ID
这应该是最常见的问题了,大多数小伙伴问题应该都出在这里,spring.cloud.nacos.discovery.namespace
指定的是命名空间名称而不是命名空间ID。
问题二:bootsrtap.yml指定了命名空间ID服务列表还是不显示?
bootsrtap.yml指定了namespace,但是配置中心的配置文件指定的还是命名空间名称,也就是说系统根据bootsrtap.yml
加载了nacos上的配置文件,远程配置文件中的namespace
或其他cloud相关配置可能有误覆盖了bootsrtap.yml
中的配置。
由于最初系统读取的是bootsrtap.yml
因此能够成功注册,控制台也不报错。后面读取远程配置后原来的配置覆盖,我们看到的效果就是服务列表找不到服务。比较建议的做法是,bootsrtap.yml配置cloud相关配置,nacos远程配置里删除cloud相关配置。
还有一种是时区问题,Nacos服务器和项目运行的电脑时间不一致,我没遇到这个问题,所有这里也不多说了。
小建议
创建namespace时ID和命名空间名可以相同,这样在配置文件中也就不用去配置生成的ID了,直接配置自己设置的即可。