Spring Cloud 微服务Nacos多环境配置

在Spring Cloud微服务开发时,一般会有多个部署环境,比如本地开发环境,内部测试环境1,内部测试环境2。这些环境没有必要每一个都部署一个Nacos注册中心,它们可以共用同一个nacos注册中心。但是如果直接使用同一个nacos注册中心,会导致注册冲突,因为不同环境的服务名字是相同的,大部分配置也是相同的。

nacos namespace 实现多环境部署

阿里云的nacos在新的版本中提供了这个支持,在服务启动向nacos注册的时候,可以配置一个namespace,它就是用来隔离不同环境部署的服务的。

  1. 创建namespace 打开nacos的管理界面,登陆之后,选择命名空间 -> 右上角新建命名空间,填写信息,创建成功,如下图所示:
  2. 配置命名空间ID 创建成功命名空间之后,会生成一个唯一的id,把这个id配置到项目中即可: 如下面代码所示:
spring: 
     cloud:
        nacos:
            discovery:
                 ip: 192.168.1.7
                 register-enabled: true
                 cluster-name: game-logic-server
                 server-addr: 192.168.1.107:8848
                 namespace: 1df4c3a3-7948-454d-8d5a-9b894fce89d6

然后重启服务,就可以在列表中看到此命名空间下的服务列表了:

经验分享 程序员 微信小程序 职场和发展