社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
SpringCloud —— 服务注册进 Eureka 集群
SpringCloud —— SpringCloud Consul 实现服务注册中心
SpringCloud —— HystrixDashboard 服务监控
SpringCloud —— Sleuth 分布式请求链路跟踪
SpringCloud Alibaba —— Nacos 服务注册
SpringCloud Alibaba —— Nacos 配置中心
问题一:
问题二:
类似 Java 里面的 package 名和类名
最外层的 namespace 是可以用于区分部署环境的,Group 和 DataID 逻辑上区分两个目标对象
默认情况:
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,就是微服务的实例
指定 spring.profile.active 和配置文件的 DataID 来使不同环境下读取不同的配置
默认空间 + 默认分组 + 新建 dev 和 test 两个 DataID
在该界面点击 + 号,添加新的配置
编写配置,点击发布
现在该界面的 DEFAULT_GROUP 已经有两个配置文件,这里 dev 表示开发环境,test 表示测试环境
通过 spring.profile.active 属性就能进行多环境下配置文件的读取
这里的 active 配置的是什么就加载什么
测试
启动主启动类 ,访问 http://localhost:3377/config/info
通过 Group 实现环境区分
在 Nacos 图形界面控制台上面新建配置文件 DataID
新建两个配置,然后放到不同的 GROUP 里面去
同名的文件放到不同的 GROUP 里面
bootstrap + application
在 config 下增加一条 group 的配置即可,可配置为 DEV_GROUP 或 TEST_GROUP
访问 http://localhost:3377/config/info
将 group 改为 DEV_GROUP
访问 http://localhost:3377/config/info 也是 OK 的
新建 dev / test 的 Namespace
点击命名空间选项,然后点击新建命名空间按钮
再新建一个
可以发现,dev 和 test 都是可以删除的,但是 public 是不可以删除的
回到服务管理-服务列表查看
现在有命名空间 public、dev、test
这是命名空间 dev
这是命名空间 test
按照域名配置填写
在 dev 下新建配置
现在 dev 下有三个配置文件
YML
那么如何去访问这些配置文件呢?很简单,拷贝这个 dev 的 id
将 id 放到 bootstrap.yml 文件里面(注意 group,这里只会访问 gorup 为 DEV_GROUP 组的配置文件),如下:
启动服务,访问 http://localhost:3377/config/info 也是 OK 的
如果想访问 dev 组里面不同的配置文件,只需要修改 bootstrap.yml 文件里面的 group 即可
完整代码已上传至码云 完整代码地址,感兴趣的朋友可以下载运行下
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!