Nacos是一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平臺
安裝Nacos控制檯
本人使用的是docker安裝的,教程:https://blog.csdn.net/HXNLYW/article/details/97101028
配置管理:配置中心功能,可以新增修改配置,結合springcloud可以實現熱更新配置。
服務管理:註冊發現中心,所有的服務實例都在這裏,可以查看服務的狀態,強制下線等。
命名空間: 用於控制環境問題,有幾個環境,就可以建幾個。配置和服務都可以註冊到相應的命名空間
集羣管理: 用於管理集羣的,本人還沒有用過 ......
增加相應依賴
無需指定版本,版本依賴控制在<dependencyManagement>中,不明白的同學可以移步上一篇;
<!--spring cloud nacos config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- spring cloud nacos discovery -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
增加相應配置項
namespace就是上文的提到的命名空間,用於區分環境,這裏配置的是Id。
spring:
profiles:
active: '@profiles.active@'
application:
name: gourdhu-service
cloud:
# nacos-配置
nacos:
# 配置中心
config:
# 是否開啓配置中心,默認true
enabled: true
server-addr: 111.231.111.150:8848
file-extension: yaml
encode: UTF-8
# 命名空間的id
namespace: 843fe123-56c4-402a-a7c8-75cd94af1db6
shared-dataids: gourdhu-local.yaml
group: GOURD
# 註冊發現中心
discovery:
# 是否開啓註冊中心,默認true
enabled: true
group: ${spring.cloud.nacos.config.group}
# 默認應用名
service: ${spring.application.name}
server-addr: ${spring.cloud.nacos.config.server-addr}
namespace: ${spring.cloud.nacos.config.namespace}
避坑:配置項需配置在bootstrap.yml中,否則會錯。
Application failed to connect to Nacos server: ""
Action:
Please check your Nacos server config
注意:dataId默認爲: ${spring.application.name}-${spring.profile.active}.${file-extension}
在nacos控制檯中新建相應配置項。如果未在配置中心配置相應配置,程序將讀取本地yml中的配置信息。如果配置了,就優先讀取配置中心的配置信息。
至此配置中心功能就整合完成了。
加載多配置文件:https://www.cnblogs.com/didispace/p/10358157.html
註冊中心-增加註解
啓動類增加註冊發現註解 @EnableFeignClients 和 @SpringCloudApplication;
由於@SpringCloudApplication包含了@SpringBootApplication所以可以去除@SpringBootApplication註解。
至此註冊中心功能整合也完成了。
啓動項目
控制檯輸出如下內容,說明配置中心功能正常
Nacos控制檯的服務管理-服務列表中查看是否存在服務實例gourdhu-service。如下說明註冊中心功能正常。
熱更新測試
準備測試接口,和配置項,並在接口類上加上@RefreshScope 註解。
項目啓動成功後,我們直接通過瀏覽器訪問接口,看接口返回的配置項信息,爲了結果的真實性,我做了一個GIF。
至此,整合Nacos作爲配置中心和註冊發現中心 功能就完成啦,是不是很簡單呢。
Nacos官方文檔:https://nacos.io/zh-cn/docs/concepts.html
上一篇:《Spring Cloud Alibaba實戰》系列-初識
下一篇:《Spring Cloud Alibaba實戰》系列-Feign之遠程調用
===============================================
代碼均已上傳至本人的開源項目
spring-cloud-plus:https://blog.csdn.net/HXNLYW/article/details/104635673