摘要:Nacos是 Dynamic Naming and Configuration Service的首字母簡稱,相較之下,它更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺,
本文分享自華為云社區《Nacos入門指南 - Nacos是什么》,作者:華為云PaaS服務小智,
什么是Nacos
Nacos是 Dynamic Naming and Configuration Service的首字母簡稱,相較之下,它更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺,
Nacos 幫助您發現、配置和管理微服務,Nacos 提供了一組簡單易用的特性集,幫助您快速實作動態服務發現、服務配置、服務元資料及流量管理,
Nacos 幫助您更敏捷和容易地構建、交付和管理微服務平臺, Nacos 是構建以“服務”為中心的現代應用架構 (例如微服務范式、云原生范式) 的服務基礎設施,
為什么需要Nacos
在軟體發展初期,企業還是傳統的單體應用架構,將所有的功能都打包成一個應用服務進行部署,隨著業務體系的不斷發展擴大,單體應用架構的弊端日益顯現,
如果可以把一個大的應用服務按照不同的維度和領域拆分成若干個子服務,各個業務團隊只需要專注于自身負責的服務,各自進行開發部署迭代,不相互影響,那該多好,因此,傳統的單元應用架構開始朝著微服務架構方向演進,演程序序中首要問題就是微服務如何相互發現對方進行呼叫?我們將這種相互發現、相互呼叫的能力稱之為微服務注冊發現,Nacos就具備這種微服務注冊發現能力,
作為當前主流的服務注冊發現配置中心之一,Nacos已經成為了國內開發者的首選,有著廣泛的群眾基礎,
CSE服務注冊發現配置中心引擎service-center目前支持SpringCloud Huawei、ServiceComb微服務框架,而當前國內主流框架是基于SpringCloud Alibaba、Dubbo等,這些框架集成了Nacos作為注冊發現配置中心,
為了擁抱開源體系的注冊發現配置中心,提高CSE的競爭力,吸引更多的用戶,CSE新增了支持托管Nacos集群的特性,
Nacos架構
基本架構
微服務通過Nacos提供的OpenAPI,進行微服務注冊與發現、配置管理、命名空間管理、集群管理等操作,詳見鏈接https://nacos.io/zh-cn/docs/v2/guide/user/open-api.html
CSE Nacos的關鍵特性
1. 健康檢查
提供兩種健康檢查機制:臨時實體的健康檢查和永久實體的健康檢查,臨時實體是由客戶端主動發送心跳服務端,告訴服務端“我還活著”,如果客戶端和服務端“失聯”,服務端主動下線客戶端鎖注冊的微服務,永久實體則是服務端主動探測客戶端是否“活著”,如果探測失敗則下線該微服務,
2. 服務管理
支持基于Rest和基于gRPC的服務發現,具備長連接能力,
支持對服務進行管理,根據服務名和分組名進行服務檢索、查詢服務詳情、創建服務、洗掉服務,
支持設定服務實體權重,權重越大,分配給該實體的流量越大,
支持設定服務的保護閾值,實作微服務呼叫的流量控制,保證服務可用,作為服務注冊發現中心,CSE Nacos正常情況下只會給服務消費者回傳健康的服務提供者實體,當用戶應用訪問量激增,所有的呼叫都只會轉發到健康實體,可能導致服務的崩潰,產生雪崩效應,通過設定保護閾值,CSE Nacos會在健康實體數/總實體數<=保護閾值時,觸發保護機制,將部分請求轉發至不健康服務提供者實體,達到限流的作用,雖然損失了部分流量,但是保證了服務的可用性,
保護閾值的范圍是0-1的浮點數,0表示無論如何不觸發閾值保護,1表示無論如何都會觸發閾值保護,
3. 配置管理
支持組態檔的創建、洗掉、匯入匯出,支持多種組態檔格式,當用戶微服務應用系統復雜龐大時,可能具有大量的組態檔,甚至組態檔的格式多樣,使用匯入匯出功能可以幫助用戶便捷的設定配置項,快速搬遷應用至CSE,
支持配置的監聽查詢,客戶端可以主動發現組態檔的變更,重新讀取組態檔內容,秒級生效,實作配置的熱更新,無需重新部署應用和服務,讓配置管理變得更加高效和敏捷,
支持配置的版本管理,可以回退至歷史版本,
4. 訂閱者查詢
支持查詢服務的訂閱者,幫助用戶更好地維護管理服務的訂閱關系,
5. 命名空間管理
支持命名空間的增刪改查,用于進行租戶粒度的配置隔離,不同的命名空間下,可以存在相同的 Group 或 Data ID 的配置,命名空間的常用場景之一是不同環境的配置的區分隔離,例如開發測驗環境和生產環境的資源(如配置、服務)隔離等,
CSE Nacos的規格
當前只支持集群版Nacos(三節點),支持的規格如下:
更多規格盡請期待,
CSE Nacos正在公測中,戳鏈接進入
點擊關注,第一時間了解華為云新鮮技術~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/539450.html
標籤:其他
上一篇:KMP演算法詳解-字串匹配
下一篇:Redis配置、優化及相關命令
