Nacos學習

什麼是Nacos

Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。git

NACOS解決兩個核心問題:動態配置管理,服務註冊發現github

幾天使用下來,Nacos動態配置挺方便的,有本身的控制檯,並且還支持不一樣namespace切換,已經能夠考慮上生產,服務註冊方面支持spring cloud、dubbo等,切換過去十分方便
體驗是基本上能夠替代spring-cloud-config + Eurekaweb

本文使用版本Nacos: 1.0.1spring

Nacos啓動

啓動很簡單shell

wget https://github.com/alibaba/nacos/releases/download/1.0.1/nacos-server-1.0.1.tar.gz
複製代碼
tar -zxvf nacos-server-1.0.1.tar.gz
複製代碼
#進入目錄下的bin(這裏單機啓動) 執行shell 
sh startup.sh -m standalone
複製代碼

輸入 http://ip:8848/nacos
帳號、密碼:nacos
進入就是nacos的控制檯bash

動態配置管理

以spring boot爲例,新建一個web項目nacos-sb(不演示)app

這裏先介紹幾個概念微服務

最外層的namespace是能夠用於區分部署環境的,好比dev,uat,product等,其它兩個領域模型不用多解釋了,見名知意。其目的也很是明顯,就是爲了可以邏輯上區分兩個目標對象測試

簡單配置

在啓動類加上註解spa

@NacosPropertySource指定的dataId,最終會對應到配置文件,autoRefreshed=true表明配置改變時會自動刷新

@EnableNacosConfig 配置開啓nacosConfig功能,globalProperties是強制要求要輸入,但其實我並無爲它賦值,只是用它默認的@NacosProperties,註解會指定許多值從自動從配置文件裏取,例如String namespace() default "${nacos.namespace:}";

@NacosValue 相似spring boot的@Value

ok,如今咱們啓動項目
進入http://localhost:8080/get

因爲還沒配置dataId 因此str沒有拿到值爲默認值,那麼如今建立一個配置

再次進入http://localhost:8080/get

根據profile和namespace實現多種環境切換

首先建立多個namespace

配置profile 這裏因爲生產測試環境用的nacos都是同一個 因此就直接配在這裏了
增長application-prod.properties

注意這裏的namespace用的是namespace的id

接着增長prod的配置

啓動項目 能夠查看到

就這樣環境已經被切換到prod這個namespace了

註冊中心Nacos

相關文章
相關標籤/搜索