前言
一、改造前
这是我们之前服务注册和发现时使用的两个服务,在application.yml定义了服务注册的一些配置信息
二、服务配置
1. 添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
2. bootstrap.properties
在
bootstrap.properties
中配置Nacos server
的地址和应用名
提供者
server:
port: 9000
spring:
application:
name: provider-service
cloud:
nacos:
config:
file-extension: yaml
server-addr: ${NACOS_SERVER_ADDR}
namespace: ${NACOS_NAMESPACE}
username: ${NACOS_USERNAME}
password: ${NACOS_PASSWORD}
这里使用环境变量配置,方便调整,环境变量不生效,建议重启下IDEA或者电脑试试
消费者
server:
port: 9003
spring:
application:
name: consumer-service
cloud:
nacos:
config:
file-extension: yaml
server-addr: ${NACOS_SERVER_ADDR}
namespace: ${NACOS_NAMESPACE}
username: ${NACOS_USERNAME}
password: ${NACOS_PASSWORD}
3. Data Id 发布配置
${prefix}.${file-extension}
提供者
消费者
4. 项目启动
[Nacos Config] Listening config: dataId=provider-service.yaml, group=DEFAULT_GROUP
[Nacos Config] Listening config: dataId=consumer-service.yaml, group=DEFAULT_GROUP
三、改造后
四、更多配置项
配置项 | key | 默认值 | 说明 |
---|---|---|---|
服务端地址 | spring.cloud.nacos.config.server-addr | 服务器ip和端口 | |
DataId前缀 | spring.cloud.nacos.config.prefix | ${spring.application.name} | DataId的前缀,默认值为应用名称 |
Group | spring.cloud.nacos.config.group DEFAULT_GROUP | ||
DataId后缀及内容文件格式 | spring.cloud.nacos.config.file-extension | properties | DataId的后缀,同时也是配置内容的文件格式,目前只支持 properties |
配置内容的编码方式 | spring.cloud.nacos.config.encode | UTF-8 | 配置的编码 |
获取配置的超时时间 | spring.cloud.nacos.config.timeout | 3000 | 单位为 ms |
配置的命名空间 | spring.cloud.nacos.config.namespace | 常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源隔离等。 | |
AccessKey | spring.cloud.nacos.config.access-key | ||
SecretKey | spring.cloud.nacos.config.secret-key | ||
相对路径 | spring.cloud.nacos.config.context-path | 服务端 API 的相对路径 | |
接入点 | spring.cloud.nacos.config.endpoint | 地域的某个服务的入口域名,通过此域名可以动态地拿到服务端地址 | |
是否开启监听和自动刷新 | spring.cloud.nacos.config.refresh-enabled | true | |
集群服务名 | spring.cloud.nacos.config.cluster-name | ||
用户名 | spring.cloud.nacos.config.username | ||
密码 | spring.cloud.nacos.config.password |
总结
到这里基本配置就完成了,
bootstarp.yml
只保留了端口号和nacos.config
的基础配置信息,像服务发现配置信息已经通过控制台外部化,下一章来演示配置的动态更新。