nacos 0.7 配置管理
nacos地址:https://nacos.io/zh-cn/
spring-cloud-alibaba:https://github.com/spring-cloud-incubator/spring-cloud-alibaba
spring-cloud-alibaba作為spring-cloud的新成員有一段時間了,作為完全國產大廠的作品,雖然目前還是處於大量整合和修bug階段,不過還是挺令人興奮,目前開放的元件有
本文只針對Nacos作為配置中心的簡單介紹
下載最新0.7
解壓到指定目錄
進入bin目錄
vi startup.sh ,單機模式處,新增啟動埠引數,不修改的話預設啟動埠為8848,也可以新增一些相關的啟動引數
在 執行sh startup.sh -m standalone 啟動nacos
啟動後的訪問地址為:http://127.0.0.1:28998/nacos/index.html
springboot專案新增相關依賴:
spring-boot-1.x使用
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>0.1.1</version>
</dependency>
spring-boot-2.x使用
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>0.2.1</version>
</dependency>
application.yml檔案新增
nacos: config: server-addr: 127.0.0.1:28998
啟動類上新增
@NacosPropertySource(dataId = "nacos.test.cfg", autoRefreshed = true)
測試類新增
@NacosValue(value = "${test:1234}", autoRefreshed = true)
private String test;
@PostMapping("/test/cfg")
public String testCfg() {
return test;
}
呼叫此介面返回預設值1234
在控制檯新建配置併發布
重新呼叫介面,返回abcd,值已經正常重新整理
(快照儲存位置nacos目錄同級位置/config/fixed-127.0.0.1:28998_nacos/snapshot/DEFAULT_GROUP/下會有一個nacos.test.cfg檔案)
在0.7版本之前,在單機模式時nacos使用嵌入式資料庫實現資料的儲存,不方便觀察資料儲存的基本情況。0.7版本增加了支援mysql資料來源能力
具體操作如下
conf/下nacos-mysql.sql 執行初始化SQL
完成後修改conf/application.properties 檔案db連線配置
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://ip:port/dbName?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=pwd
重新啟動nacos後在控制檯修改配置,配置資料會進入相關表,可以在nacos宕機情況下進行額外處理
總體來看,作為配置中心使用,nacos完全可以替代spring-cloud-config,開箱即用,你值得擁有!
單機版nacos--done
對於eureka,nacos也不毫不遜色