什麼是Nacos?
Nacos是阿里巴巴開源的專案,是一個更易於幫助構建雲原生應用的動態服務發現、配置管理和服務管理平臺。英文全稱 Dynamic Naming and Configuration Service,Na為naming/nameServer即註冊中心,co為configuration即註冊中心,service是指該註冊/配置中心都是以服務為核心。
Nacos功能介紹
1、動態配置服務:動態配置服務讓您能夠以中心化、外部化和動態化的方式管理所有環境的配置。動態配置消除了配置變更時重新部署應用和服務的需要。配置中心化管理讓實現無狀態服務更簡單,也讓按需彈性擴充套件服務更容易。2、服務發現及管理:動態服務發現對以服務為中心的(例如微服務和雲原生)應用架構方式非常關鍵。Nacos支援DNS-Based和RPC-Based(Dubbo、gRPC)模式的服務發現。Nacos也提供實時健康檢查,以防止將請求發往不健康的主機或服務例項。藉助Nacos,您可以更容易地為您的服務實現斷路器。3、動態DNS服務:通過支援權重路由,動態DNS服務能讓您輕鬆實現中間層負載均衡、更靈活的路由策略、流量控制以及簡單資料中心內網的簡單DNS解析服務。動態DNS服務還能讓您更容易地實現以DNS協議為基礎的服務發現,以消除耦合到廠商私有服務發現API上的風險。
為什麼選擇Nacos?
1、易於使用:動態配置管理、服務發現和動態的一站式解決方案;20多種開箱即用的以服務為中心的架構特性;基本符合生產要求的輕量級易用控制檯。2、更適應雲架構:無縫支援Kubernetes和Spring Cloud;在主流公共雲上更容易部署和執行(例如阿里雲和AWS);多租戶和多環境支援。3、生產等級:脫胎於歷經阿里巴巴10年生產驗證的內部產品;支援具有數百萬服務的大規模場景;具備企業級SLA的開源產品。
4、豐富的應用場景:支援限流、大促銷預案和異地多活;直接支援或稍作擴充套件即可支援大量有用的網際網路應用場景;流量排程和服務治理。
準備環境
在開始之前,請安裝以下元件(官方推薦):
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
1、服務註冊在控制檯中手動新增配置資訊如下:
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
2、服務發現參考服務註冊此步跳過
curl -X GET "http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=blog.yoodb.com"
3、釋出配置
在命令列執行如下命令,向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
4、獲取配置參考釋出配置此步跳過。
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=blog.yoodb.com&group=TEXT_GROUP"