什麼是Nacos?git
Nacos是阿里巴巴開源的項目,是一個更易於幫助構建雲原生應用的動態服務發現、配置管理和服務管理平臺。英文全稱 Dynamic Naming and Configuration Service,Na爲naming/nameServer即註冊中心,co爲configuration即註冊中心,service是指該註冊/配置中心都是以服務爲核心。github
Nacos功能介紹ubuntu
一、動態配置服務:動態配置服務讓您可以以中心化、外部化和動態化的方式管理全部環境的配置。動態配置消除了配置變動時從新部署應用和服務的須要。配置中心化管理讓實現無狀態服務更簡單,也讓按需彈性擴展服務更容易。二、服務發現及管理:動態服務發現對以服務爲中心的(例如微服務和雲原生)應用架構方式很是關鍵。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服務發現。Nacos也提供實時健康檢查,以防止將請求發往不健康的主機或服務實例。藉助Nacos,您能夠更容易地爲您的服務實現斷路器。三、動態DNS服務:經過支持權重路由,動態DNS服務能讓您輕鬆實現中間層負載均衡、更靈活的路由策略、流量控制以及簡單數據中心內網的簡單DNS解析服務。動態DNS服務還能讓您更容易地實現以DNS協議爲基礎的服務發現,以消除耦合到廠商私有服務發現API上的風險。bash
爲何選擇Nacos?架構
一、易於使用:動態配置管理、服務發現和動態的一站式解決方案;20多種開箱即用的以服務爲中心的架構特性;基本符合生產要求的輕量級易用控制檯。二、更適應雲架構:無縫支持Kubernetes和Spring Cloud;在主流公共雲上更容易部署和運行(例如阿里雲和AWS);多租戶和多環境支持。三、生產等級:脫胎於歷經阿里巴巴10年生產驗證的內部產品;支持具備數百萬服務的大規模場景;具有企業級SLA的開源產品。負載均衡
四、豐富的應用場景:支持限流、大促銷預案和異地多活;直接支持或稍做擴展便可支持大量有用的互聯網應用場景;流量調度和服務治理。curl
準備環境maven
在開始以前,請安裝如下組件(官方推薦):微服務
64位操做系統:支持Linux/Unix/Mac/Windows,建議使用Linux/Unix/Mac(本次演示在Windows系統)。
64位JDK 1.8版本及以上。
Maven 3.2.x版本及以上。
下載源碼或者安裝包工具
Nacos能夠經過源碼或者發行包兩種方式下載。
1)從Github下載源代碼
git clone https://github.com/alibaba/nacos.git cd nacos/ mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U ls -al distribution/target/ // change the $version to your actual path cd distribution/target/nacos-server-$version/nacos/bin
2)下載編譯後壓縮包方式
https://github.com/alibaba/nacos/releases
建議選擇穩定版本(將$version替換成版本號):
unzip nacos-server-$version.zip OR tar -xvf nacos-server-$version.tar.gz cd nacos/bin
Windows版本直接使用解壓工具便可。
啓動Nacos Server服務
Linux/Unix/Mac操做系統,執行命令以下:
sh startup.sh -m standalone
若是使用的是ubuntu系統,或遇到此錯誤消息(找不到符號),請嘗試方式運行:
bash startup.sh -m standalone
Windows 操做系統,執行命令以下:
cmd startup.cmd
服務與配置管理nacos server訪問地址:http://127.0.0.1:8848/nacos/nacos默認帳戶密碼:nacos/nacos
一、服務註冊在控制檯中手動添加配置信息以下:
curl -X POST "http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=blog.yoodb.com&ip=123.57.47.154&port=443"
參考如圖所示:
參數含義
服務名:blog.yoodb.com
保護閾值:0
分組(默認):DEFAULT_GROUP
二、服務發現參考服務註冊此步跳過
curl -X GET "http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=blog.yoodb.com"
三、發佈配置
在命令行執行以下命令,向Nacos Server中添加一條配置,也可在控制檯中手動添加。
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=blog.yoodb.com&group=TEXT_GROUP&content=helloWorld"
參考如圖所示:
參數含義
dataId:blog.yoodb.com
group:TEXT_GROUP
配置內容:helloWorld
四、獲取配置參考發佈配置此步跳過。
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=blog.yoodb.com&group=TEXT_GROUP"