Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。git
NACOS解決兩個核心問題:動態配置管理,服務註冊發現github
幾天使用下來,Nacos動態配置挺方便的,有本身的控制檯,並且還支持不一樣namespace切換,已經能夠考慮上生產,服務註冊方面支持spring cloud、dubbo等,切換過去十分方便
體驗是基本上能夠替代spring-cloud-config + Eurekaweb
本文使用版本Nacos: 1.0.1spring
啓動很簡單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
首先建立多個namespace
配置profile 這裏因爲生產測試環境用的nacos都是同一個 因此就直接配在這裏了 增長application-prod.properties 注意這裏的namespace用的是namespace的id接着增長prod的配置
啓動項目 能夠查看到
就這樣環境已經被切換到prod這個namespace了