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