Nacos不仅仅是注册中心,也是一个数据中心。
Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离
-
nacos中可以有多个namespace
-
namespace下可以有group、service等
-
不同namespace之间相互隔离,例如不同namespace的服务互相不可见
-
可以将多个相关度较高的业务放到一个组内
-
可以使用Namespace对开发环境、生产环境、测试环境进行隔离
1.创建namespace
默认情况下,所有service、data、group都在同一个namespace,名为public:
新建命名空间
2.给微服务配置namespace
只能通过修改配置文件来实现。
例如,修改order-service的application.yml文件:
spring:
cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: HZ
namespace: a9018d50-8d7f-4cc1-9df5-3991ba0876e9 # 命名空间,填ID,到Nacos查看
3.重启服务
此时再想通过orderservice服务远程调用userservice服务,那就行不通了,因为他们已经是两个namespace中的了
@总结
- 每个namespace都有唯一id
- 服务设置namespace时要写id而不是名称
- 不同namespace下的服务互相不可见