摘要:元數據數據如配置和服務描述信息,如服務版本權重容災策略負載均衡策略鑒權配置各種自定義標簽,從作用范圍來看,分為服務級別的元信息集群的元信息及實例的元信息。
什么是Nacos?
Nacos 是構建以“服務”為中心的現代應用架構 (例如微服務范式、云原生范式) 的服務基礎設施。
Nacos可以做什么?1、動態配置服務:支持以中心化、外部化和動態化的方式管理所有環境的配置。動態配置消除了配置變更時重新部署應用和服務的需要。配置中心化管理讓實現無狀態服務更簡單,也讓按需彈性擴展服務更容易。
2、服務發現及管理:支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服務發現,同時提供實時健康檢查,以防止將請求發往不健康的主機或服務實例。借助Nacos,可以更容易地為服務實現斷路器。
3、動態DNS服務:通過支持權重路由,輕松實現中間層負載均衡、更靈活的路由策略、流量控制及簡單數據中心內網的簡單DNS解析服務。更加容易地實現以DNS協議為基礎的服務發現,以消除耦合到廠商私有服務發現API上的風險。
1、易于使用
動態配置管理、服務發現和動態的一站式解決方案
20多種開箱即用的以服務為中心的架構特性
基本符合生產要求的輕量級易用控制臺
2、更適應云架構
無縫支持Kubernetes和Spring Cloud
在主流公共云上更容易部署和運行(例如阿里云和AWS)
多租戶和多環境支持
3、生產等級
脫胎于歷經阿里巴巴10年生產驗證的內部產品
支持具有數百萬服務的大規模場景
具備企業級SLA的開源產品
4、豐富的應用場景
支持限流、大促銷預案和異地多活Nacos架構 Nacos概念
直接支持或稍作擴展即可支持大量有用的互聯網應用場景
流量調度和服務治理
地域(Region):物理的數據中心,資源創建成功后不能更換
可用區(Available Zone):同一地域內,電力和網絡互相獨立的物理區域。同一可用區內,實例的網絡延遲較低。
接入點(Endpoint):地域的某個服務的入口域名
命名空間(Namespace):用于進行租戶粒度隔離。不同的命名空間下,可以存在相同的Group或Data ID的配置。
配置(Configuration):從代碼中分離出來獨立管理的變量、需要變更的參數等
配置管理(Configuration Management):系統配置的編輯、存儲、分發、變更管理、歷史版本管理、變更審計等所有與配置相關的活動。
配置項(Configuration Item):一個具體的可配置的參數與其值域,通常以 param-key=param-value 的形式存在。
配置集(Configuration Set):一組相關或者不相關的配置項的集合。在系統中,一個配置文件通常就是一個配置集,包含了系統各個方面的配置。
配置集ID(Data ID):某個配置集的ID,是組織劃分配置的維度之一,通常用于組織劃分系統的配置集。一個系統或者應用可以包含多個配置集,每個配置集都可以被一個有意義的名稱標識,通常采用類 Java包的命名規則保證全局唯一性(此命名規則非強制)。
配置分組(Group):一組配置集,是組織配置的維度之一,通過一個有意義的字符串對配置集進行分組,從而區分 Data ID 相同的配置集。創建一個配置時,如果未填寫配置分組的名稱,則配置分組的名稱默認采用DEFAULT_GROUP。
配置快照(Configuration Snapshot):Nacos 的客戶端 SDK 會在本地生成配置的快照。當客戶端無法連接到 Nacos Server 時,可以使用配置快照顯示系統的整體容災能力。
服務(Service):通過預定義接口網絡訪問的提供給客戶端的軟件功能。
服務名(Service Name):服務提供的標識,通過該標識可以唯一確定其指代的服務。
服務注冊中心(Service Registry):存儲服務實例和服務負載均衡策略的數據庫。
服務元數據(Service Metadata):服務元數據是指包括服務端點(endpoints)、服務標簽、服務版本號、服務實例權重、路由規則、安全策略等描述服務的數據
服務提供方(Service Provider):是指提供可復用和可調用服務的應用方
服務消費方(Service Consumer):是指會發起對某個服務調用的應用方
服務發現(Service Discovery):在計算機網絡上,對服務下的實例的地址和元數據進行探測,并以預先定義的接口提供給客戶端進行查詢。
服務分組(Service Group):不同的服務可以歸類到同一分組。
名字服務(Naming Service):提供分布式系統中所有對象(Object)、實體(Entity)的“名字”到關聯的元數據之間的映射管理服務
配置服務(Configuration Service):在服務或者應用運行過程中,提供動態配置或者元數據以及配置管理的服務提供者。
元數據(Metadata):Nacos數據(如配置和服務)描述信息,如服務版本、權重、容災策略、負載均衡策略、鑒權配置、各種自定義標簽 (label),從作用范圍來看,分為服務級別的元信息、集群的元信息及實例的元信息。
應用(Application):用于標識服務提供方的服務的屬性。
虛擬集群(Virtual Cluster):同一個服務下的所有服務實例組成一個默認集群,集群可以被進一步按需劃分,劃分的單位可以是虛擬集群。
實例(Instance):提供一個或多個服務的具有可訪問網絡地址(IP:Port)的進程。
權重(Weight):實例級別的配置,權重為浮點數,權重越大,分配給該實例的流量越大。
健康檢查(Health Check):以指定方式檢查服務下掛載的實例的健康度,從而確認該實例是否能夠提供服務。根據檢查結果,實例會被判斷是否健康,對服務發起解析請求時,不健康的實例不會返回給客戶端。
健康保護閾值(Protect Threshold):為防止因過多實例不健康導致流量全部流向健康的實例,繼而造成流量壓力把健康的實例壓垮并形成雪崩效應,應將健康保護閾值定義未一個0~1之間的浮點數,當域名健康實例占總服務實例的比例小于該值時,無論實例是否健康,都會將這個實例返回給客戶端,這樣做雖然損失了一部分流量,但是保證了集群的剩余健康實例能夠正常工作。
以上內容整理源自:Nacos官網
梳理好Nacos的架構及概念,接下來準備Nacos的環境,Nacos的環境安裝非常簡單,首先從 GitHub 上 checkout 源碼,編譯獲取安裝包,命令如下:
mvn -Prelease-nacos clean install -U
編譯完成后
因為我使用的是Windows,所以取target下的nacos-server-0.8.0.zip包(當然也可以從Github上直接下載安裝包),將其解壓到任意目錄下
注意:所解壓目錄的文件路徑不能包含空格,例如:D:/Program Files/Nacos,否則在啟動Nacos Server時,會提示錯誤:找不到或無法加載主類 Files/Nacos/bin/Files/Nacos/plugins/cmdb
解壓后,進入bin目錄,雙擊startup.cmd,此時,Nacos Server就開始啟動了
在啟動界面中,可以看到Nacos的版本、運行模式、端口號、進程號、Console等信息,其中Console:http://192.168.1.102:8848/nacos/index.html的地址就是Nacos的控制臺,可以直接在瀏覽器訪問:
Nacos控制臺的默認賬號密碼為:nacos/nacos
登錄后可以看到如下界面,在控制臺可以進行配置和服務的管理
怎么樣,是不是感覺很簡單?
好了,Nacos就先介紹到這里,下一期將以一個完整的案例來介紹Nacos的用法和特性。
參考資料Nacos官網
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/73271.html
摘要:在上面這個例子中,沃爾瑪就是服務提供者,小明和小新是服務消費者,微信公眾號類似于注冊中心,沃爾瑪將服務發布到注冊中心,小明和小新作為消費者,訂閱注冊中心上沃爾瑪提供的服務,通過微信公眾號,沃爾瑪服務方和小明小新消費方就解耦了。 前言 所謂注冊中心,其實是分布式架構演進過程中的產物,在系統中充當一個協調者的角色。但是,為什么需要這樣一個協調者的角色呢?我們先來看一個例子,以便理解為什么分...
摘要:數據源內嵌的數據庫,通過命令直接啟動即可,無需額外安裝。參考資料部署手冊集群部署說明推薦閱讀系列歡迎來到的世界系列基于的注冊中心系列基于的配置中心系列的使用 三種部署模式 Nacos支持三種部署模式 1、單機模式:可用于測試和單機使用,生產環境切忌使用單機模式(滿足不了高可用) 2、集群模式:可用于生產環境,確保高可用 3、多集群模式:可用于多數據中心場景 單機模式 啟動 Nacos ...
摘要:殺只雞而已,你拿牛刀來做甚釋義小團隊小項目選擇簡單的配置管理方式就好了,要什么配置中心,純屬沒事找事。,我就啰嗦到這里吧,下面正式介紹作為配置中心是怎么使用的。 前言 在看正文之前,我想請你回顧一下自己待過的公司都是怎么管理配置的,我想應該會有以下幾種方式: 1、硬編碼沒有什么配置不配置的,直接寫在代碼里面,比如使用常量類優勢:對開發友好,開發清楚地知道代碼需要用到什么配置劣勢:涉及秘...
摘要:發布配置支持程序自動發布配置,創建和修改配置使用同一個方法,配置不存在則創建配置已存在則更新。示例源碼項目代碼已上傳至碼云和上,歡迎下載學習參考資料用戶指南的推薦閱讀系列歡迎來到的世界系列基于的注冊中心系列基于的配置中心 Maven依賴 Nacos提供完整的Java SDK,便于配置管理和服務發現及管理,以 Nacos-0.8.0 版本為例 添加Maven依賴: com.al...
閱讀 1385·2021-11-25 09:43
閱讀 3606·2021-11-10 11:48
閱讀 5180·2021-09-23 11:21
閱讀 1610·2019-08-30 15:55
閱讀 3519·2019-08-30 13:53
閱讀 1247·2019-08-30 10:51
閱讀 880·2019-08-29 14:20
閱讀 1986·2019-08-29 13:11