一 配置中心
- 添加依賴:
- 注意:版本 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
。