springcloud alibaba(2)https://developer.aliyun.com/article/1530574
在Nacos中添加配置信息
https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
#${prefix}-${spring.profile.active}.${file-extension} # ${spring.application.name}-${spring.profile.active}.${file-extension} # nacos-config-client-dev.yml
-
- 测试
启动3377
浏览器输入:http://localhost:3377/config/info
在nacos后台修改yml文件的版本号
刷新页面,动态刷新
Nacos作为配置中心——分类配置
问题
问题1:
实际开发中,通常一个系统会准备dev开发环境
test测试环境prod生产环境。
如何保证指定环境启动时服务能正确读取到Nacos上相应环境的配置文件呢?
问题2:
—个大型分布式微服务系统会有很多微服务子项目,
每个微服务项目又都会有相应的开发环境、测试环境、预发环境、正式环境…那怎么对这些微服务配置进行管理呢?
图形化管理界面
Namespace+Group+DataID三者的关系
1是什么
类似Java里面的package名和类名
最外层的namespace是可以用于区分部署环境的,Group和DatalD逻辑上区分两个目标对象。
2三者情况
默认情况:
Namespace=public,Group=DEFAULT_GROUP,,默认Cluster是DEFAULT
Nacos默认的命名空间是public,Namespace主要用来实现隔离。
比方说我们现在有三个环境:开发、测试、生产环境,我们就可以创建三个Namespace,不同的Namespace之间是隔离的。
Group默认是DEFAULT_GROUP,Group可以把不同的微服务划分到同一个分组里面去
Service就是微服务;一个Service可以包含多个Cluster (集群),Nacos默认Cluster是DEFAULT,Cluster是对指定微服务的一个虚拟划分。
比方说为了容灾,将Service微服务分别部署在了杭州机房和广州机房,这时就可以给杭州机房的Service微服务起一个集群名称(HZ),
给广州机房的Service微服务起一个集群名称(GZ),还可以尽量让同一个机房的微服务互相调用,以提升性能。
最后是Instance,就是微服务的实例。
DataID方案
新建DataId(test)
config: info: test nacos config center, version = 2
-
- 修改3377的application.yml的active为
test
。 - 启动3377。
http://localhost:3377/config/info
Group方案
Group默认DEFAULT_GROUP。
- 新建配置nacos-config-client-info.yml(DEV_GROUP)
config: info: nacos-config-client-info.yml DEV_GROUP
springcloud alibaba(4)https://developer.aliyun.com/article/1530576