一 配置中心
- 添加依赖:
- 注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。
- 更多版本对应关系参考:版本说明 Wiki
- 在
bootstrap.properties
中配置 Nacos server 的地址和应用名 - 说明:之所以需要配置
spring.application.name
,是因为它是构成 Nacos 配置管理dataId
字段的一部分。 - 在 Nacos Spring Cloud 中,
dataId
的完整格式如下: prefix
默认为spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置。spring.profile.active
即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当spring.profile.active
为空时,对应的连接符-
也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}
file-exetension
为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension
来配置。目前只支持properties
和yaml
类型。- 通过 Spring Cloud 原生注解
@RefreshScope
实现配置自动更新: - 首先通过调用 Nacos Open API 向 Nacos Server 发布配置:dataId 为
example.properties
,内容为useLocalCache=true
- 运行
NacosConfigApplication
,调用curl http://localhost:8080/config/get
,返回内容是true
。 - 再次调用 Nacos Open API 向 Nacos server 发布配置:dataId 为
example.properties
,内容为useLocalCache=false
- 再次访问
http://localhost:8080/config/get
,此时返回内容为false
,说明程序中的useLocalCache
值已经被动态更新了。 - 注意事项:使用@Value注解的地方必须使用
@RefreshScope
实现配置自动更新。而使用 @ConfigurationProperties 则可以实现自动更新。
二 注册中心
- 添加依赖:
- 注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。
- 更多版本对应关系参考:版本说明 Wiki
- 配置服务提供者,从而服务提供者可以通过 Nacos 的服务注册发现功能将其服务注册到 Nacos server 上。
- i. 在
application.properties
中配置 Nacos server 的地址: - ii. 通过 Spring Cloud 原生注解
@EnableDiscoveryClient
开启服务注册发现功能: - 配置服务消费者,从而服务消费者可以通过 Nacos 的服务注册发现功能从 Nacos server 上获取到它要调用的服务。
- i. 在
application.properties
中配置 Nacos server 的地址: - ii. 通过 Spring Cloud 原生注解
@EnableDiscoveryClient
开启服务注册发现功能。给 RestTemplate 实例添加@LoadBalanced
注解,开启@LoadBalanced
与 Ribbon 的集成: - 启动
ProviderApplication
和ConsumerApplication
,调用http://localhost:8080/echo/2018
,返回内容为Hello Nacos Discovery 2018
。