Nacos Server 还可以作为配置中心,对 Spring Cloud 应用的外部配置进行统一地集中化管理。而我们只需要在应用的 POM 文件中引入 spring-cloud-starter-alibaba-nacos-config 即可实现配置的获取与动态刷新。
添加以下依赖(小结:加入springCloud依赖,bootstrap文件才能正常使用)
<!--cloud的基础环境包-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-context</artifactId>
</dependency>
<!-- nacos 配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
在 Nacos Spring Cloud 中,数据集(Data Id) 的配置完整格式如下:
${prefix}-${spring.profile.active}.${file-extension}
prefix = spring.application.name 就是配置的服务名,默认是你配置的
spring.profile.active = spring.profile.active 是配置开发环境的值
file-extension = spring.cloud.nacos.config.file-extension 指定配置文件类型,默认是properties
注意:跟配置文件里一一对应
在bootstrap.yml配置文件中加入以下配置(加载优先级:bootstrap>application)
server:
servlet:
context-path: /content
port: 63040
#微服务配置
spring:
application:
name: content-service # nacos默认会把服务名作为dataID前缀
cloud:
nacos:
discovery:
server-addr: 自己的ip地址:8848 #服务器的地址 + 端口号(Nacos默认端口号8848)
namespace: dev # 如果没有指定命令空间,则默认命令空间为PUBLIC
group: xuecheng # 如果没有配置Group,则默认值为DEFAULT_GROUP
config:
server-addr: 自己的ip地址:8848 # 不给指定地址就是默认的本地(自己服务器搭建的nacos一定要改,要不然请求一直失败)
namespace: dev
group: xuecheng
file-extension: yaml
refresh-enabled: true # 开启监听和自动刷新
timeout: 5000 # 从Nacos读取配置项的超时时间
config-long-poll-timeout: 10000 # 长轮询超时时间
config-retry-time: 2000 # 轮询的重试时间
max-retry: 3 # 长轮询最大重试次数
profiles:
active: dev # 环境标识
nacos心跳机制会一直发请求有时候网络不好会报错,把长轮询时间加长会减少此类事故,
本地只用保留服务名和环境标识,其他的都可以放在nacos配置文件里。