首頁 > 科技

Spring Cloud 從入門到精通(一)Nacos 服務中心初探

2021-07-31 06:48:36

什麼是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"

作者:afreon

連結:https://my.oschina.net/freelife/blog/5152423


IT145.com E-mail:sddin#qq.com