写在开头,此部分博客为记录自学项目中学习过程整理,并非详细技术点研究。
命名空间
-
常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源隔离等。默认所有配置均在
public
保留空间,需要在bootstrap.properties
中配置相应的命名空间。在开始前我们启动
nacos-server
,添加开发、测试、生产的命名空间:
在新添加的命名空间中添加相关配置:
并在bootstrap.properties
中配置相应的命名空间:(以dev
为例,若上上图未设置ID,则使用默认生产的即可)spring.application.name=gulimall-coupon spring.cloud.nacos.config.server-addr=127.0.0.1:8848 # 添加当前微服务模块的命名空间 spring.cloud.nacos.config.namespace=64e6cfa1-9bd5-4699-b755-77f9a127a270
启动服务,查看效果,配置生效
{ "msg": "success", "code": 0, "userName": "命名空间", "userAge": "30" }
-
此外,单个微服务之间也可以单独配置命名空间,不同的微服务模块配置不同的命名空间,可以实现服务间的配置隔离。
配置集 && 配置集ID && 配置分组
所有配置的集合叫做配置集,配置集ID为配置文件名
默认所有的配置集均属于DEFAULT_GROUP
,组别可在新建配置时进行自定义配置
# 配置组别
spring.cloud.nacos.config.group=dev
为每个微服务创建各自的命名空间namespace,使用配置分组区分环境,dev、test、prod。
在配置中心中配置多个配置文件,并加载测试:以coupon
微服务模块为例
-
创建
coupon
的namespace
命名空间【区分服务】
-
在配置列表,新建配置DataID为:
gulimall-coupon.properties
,Group为:dev
【区分环境】
-
将
application.yml
文件拆分为三个文件,配置到nacos
配置中心中-
dataSource.yml
,配置数据库相关内容:
-
mybatis.yml
,配置ORM框架-mybatis相关配置内容:
-
other.yml
,配置其余相关内容:
-
配置
bootstrap.properties
,使用extension-configs
配置多组内容:spring.application.name=gulimall-coupon spring.cloud.nacos.config.server-addr=127.0.0.1:8848 # 添加当前微服务模块的命名空间 spring.cloud.nacos.config.namespace=5e71e41b-f5d7-4f09-a218-f5aaf8f08d50 # 配置组别 spring.cloud.nacos.config.group=dev # 引入多个配置:refresh为是否动态刷新,开启后在配置中心即可动态更新配置 spring.cloud.nacos.config.extension-configs[0].data-id=dataSource.yml spring.cloud.nacos.config.extension-configs[0].group=dev spring.cloud.nacos.config.extension-configs[0].refresh=true spring.cloud.nacos.config.extension-configs[1].data-id=mybatis.yml spring.cloud.nacos.config.extension-configs[1].group=dev spring.cloud.nacos.config.extension-configs[1].refresh=true spring.cloud.nacos.config.extension-configs[2].data-id=other.yml spring.cloud.nacos.config.extension-configs[2].group=dev spring.cloud.nacos.config.extension-configs[2].refresh=true
-
注释
application.yml
内容,启动服务!仍发出测试请求:{ "msg": "success", "code": 0, "userName": "这是新的测试!", "userAge": "25" }
数据库连接也正常,服务可以正常启动并访问!
-