问题举例:现在有四个微服务,A,B,C,D。测试环境服务器自动构建了四个微服务,并且正常运行。现在开发人员a和开发人员b,都需要在本地分别调试开发A和B服务,而A,B必须依赖C,D服务才能启动,并且A和B服务需要通过nacos的服务名相互调用本地的A和B。

如果不做处理,开发人员a,b都会在nacos上注册A,B,加上服务器注册的。会有三个服务实例,本地A调用B时,会调用到服务器或者其他人的B,不适合做本地调试。
也就会有nacos的报错,导致本地项目启动不成功。

之前我们的解决方法是把当前nacos的配置文件克隆一份放到另一个服务器上的nacos,这样就可以做到隔离的效果。

但现在的话有了其他的解决方法,也就是使用命名空间

命名空间属于绝对隔离,可以做到多个相同的项目不同的开发人员分别开发不同的功能使用同一个nacos的效果。

 而使用命名空间也比较简单,在nacos上:

新建命名空间即可。

之后在项目的配置文件中加上:

  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        namespace: 42435513-884a-4a84-b878-d65f1b4a33ee  #服务隔离
      config:
        namespace: 42435513-884a-4a84-b878-d65f1b4a33ee  #配置隔离

 即可。

GitHub 加速计划 / na / nacos
129
24
下载
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
最近提交(Master分支:4 个月前 )
595bdc90 2 天前
14becb80 3 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐