完整搭建Spring Cloud微服务(三) Nacos作为配置中心(多环境配置)
从Nacos的web管理端中可以看出来,Nacos不仅可以作为服务注册与发现中心,还可以负责配置中来使用。Nacos作为配置中心使用的好处,最主要就是配置可以集中管理,减少出错和操作成本。更多的好处,大家可以去google,我们这里还是以使用为主。根据上一节搭建好的服务,还没有办法直接使用Nacos作为配置中心,需要在额外添加一个依赖才可以。话不多说,依赖如下:<depende...
从Nacos的web管理端中可以看出来,Nacos不仅可以作为服务注册与发现中心,还可以负责配置中来使用。
Nacos作为配置中心使用的好处,最主要就是配置可以集中管理,减少出错和操作成本。更多的好处,大家可以去google,我们这里还是以使用为主。
根据上一节搭建好的服务,还没有办法直接使用Nacos作为配置中心,需要在额外添加一个依赖才可以。话不多说,依赖如下:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
添加好依赖,接着需要修改一下配置文件,关于cloud的相关配置修改为如下所示:
spring:
cloud:
nacos:
config:
server-addr: 47.104.6.8:8848
file-extension: yml
可以看到,指定了配置文件类型为yml,然后,打开Nacos管理平台,在配置列表页面点击+号,添加配置文件。这里取名service-1.yml,在没有指定profile时,与服务名一样即可,记住,.yml也是要写全的,配置格式选择yaml,完整配置页面如下:
service-1.yml中的配置为:
spring:
cloud:
nacos:
discovery:
server-addr: 47.104.6.8:8848
然后修改application.yml为bootstrap.yml,不然程序启动会报错。然后启动程序,可以发现服务使用了Nacos中的配置项,服务正常启动并注册成功。
我们平常肯定不只只有一个环境,最少会有开发环境,测试环境等,每个环境的数据库等等配置是不一样的,怎么在Nacos中进行区分呢?Nacos提供了命名空间的功能,我们可以添加多个命名空间,每个环境在各自的命名空间里。
点击命名空间并设置保存,可以看到public外多了一个命名空间,我这里使用的是dev:
红框内就是当前命名空间的id,我们在当前命名空间内添加一个名字叫service-1-dev.yml的配置文件,内容如下:
spring:
cloud:
nacos:
discovery:
server-addr: 47.104.6.8:8848
namespace: 2bdb9add-1be0-4f26-8c5c-9e06a3e9daed
添加了namespace属性,就是命名空间的id,同样在项目的yml文件中,也要添加namespace属性。并且指定当前活动的profile为dev,完整的配置如下:
spring:
application:
name: service-1
profiles:
active: dev
---
spring:
profiles: dev
cloud:
nacos:
config:
server-addr: 47.104.6.8:8848
file-extension: yml
namespace: 2bdb9add-1be0-4f26-8c5c-9e06a3e9daed
---
然后启动,打开控制台,就可以看见在dev的命名空间下,服务注册了进来,相应的public中,服务已经没有了。
更多推荐
所有评论(0)