英文全稱Dynamic Naming and Configuration Service,Na爲naming/nameServer即註冊中心,co爲configuration即註冊中心,service是指該註冊/配置中心都是以服務爲核心。服務在nacos是一等公民mysql
Nacos根據官網介紹致力於發現、配置和管理微服務。Nacos既能做爲SpringCloud中的Erueka組件又能做爲SpringCloud中的Config組件而且Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。git
Nacos 支持基於 DNS 和基於 RPC 的服務發現。github
服務:經過預約義接口網絡訪問的提供給客戶端的軟件功能。spring
配置:在系統開發過程當中,開發者一般會將一些須要變動的參數、變量等從代碼中分離出來獨立管理,以獨立的配置文件的形式存在。目的是讓靜態的系統工件或者交付物(如 WAR,JAR 包等)更好地和實際的物理運行環境進行適配。配置管理通常包含在系統部署的過程當中,由系統管理員或者運維人員完成。配置變動是調整系統運行時的行爲的有效手段。sql
命名空間:用於進行租戶粒度的配置隔離。不一樣的命名空間下,能夠存在相同的 Group 或 Data ID 的配置。Namespace 的經常使用場景之一是不一樣環境的配置的區分隔離,例如開發測試環境和生產環境的資源(如配置、服務)隔離等。shell
服務註冊中心:存儲服務實例和服務負載均衡策略的數據庫。數據庫
服務發現: 在計算機網絡上,(一般使用服務名)對服務下的實例的地址和元數據進行探測,並以預先定義的接口提供給客戶端進行查詢。windows
經過官方直接下載發佈版本:https://github.com/alibaba/nacos/releases/download/1.1.0/nacos-server-1.1.0.tar.gz解壓便可運行
網絡
這裏經過源碼編譯形式進行安裝,也能夠直接在官網發佈版本中找到適應的版本進行使用。app
因爲我這裏訪問github網絡不行因此就直接在碼雲拉源碼了。
git clone https://gitee.com/mirrors/Nacos.git
後面腳手架使用的所有版本是1.1.0
版本全部我這裏切換對應版本進行打包
#切換到1.1.0標籤 git checkout 1.1.0 #進入Nacos目錄,進行打包 mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U #打包好後Nacos\distribution\target目錄中會出現一個zip和tar #nacos-server-1.1.0.tar.gz #nacos-server-1.1.0.zip
我這裏直接使用zip壓縮包在windows環境下進行使用,解壓後目錄以下
bin 存放可執行腳本 conf 運行時的配置 plugins 插件 target 打包後的jar包
windows環境下運行bin目錄下的startup.cmd便可,等待啓動完成後訪問:http://localhost:8848/nacos
若是使用Linux系統運行則sh startup.sh -m standalone
表明着單機模式運行。
默認登錄帳號與密碼爲:nacos\nacos登錄後頁面展現以下
配置管理則是咱們在程序中使用的配置如SpringBoot讀取的properties均可以存放在這裏。
服務管理根據名字就清楚是對註冊到Nacos上的服務進行管理的功能啦。
集羣管理則指是Nacos集羣而不是應用程序集羣。
命名空間是此作多環境以及多租戶(多個用戶共同使用nacos)數據(配置和服務)隔離的,至關於SpringBoot 配置文件中的spring.profiles。
當咱們使用默認配置啓動Nacos時,全部配置文件都被Nacos保存在了內置的數據庫中。
在0.7版本以前,在單機模式時nacos使用嵌入式數據庫實現數據的存儲,不方便觀察數據存儲的基本狀況。0.7版本增長了支持mysql數據源能力;若是使用內嵌數據庫,註定會有存儲上限,且沒法移植。
在Nacos的conf目錄下nacos-mysql.sql建立一個數據庫運行腳本,而後在application.properties增長如下配置:
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=123456
而後建立的配置會持久化到配置的數據庫中。
Nacos註冊中心/配置中心二合一我以爲很是好用,比起SpringCloud 須要Eureka於Config兩個服務。不過二合一也並不是優勢,打個簡單的比方在不須要配置中心的狀況下Nacos的配置管理就顯得多餘了。