前言
6月份阿里開源的Nacos發(fā)布了1.0.1版本,從去年7月份第一個(gè)release版本到現(xiàn)在一直在默默關(guān)注
官方的版本規(guī)劃為:Nacos從0.8.0開始支持生產(chǎn)可用揉燃,1.0版本可大規(guī)模生產(chǎn)可用筋栋,2.0版本接入k8s、SpringCloud抢腐、ServiceMesh襟交、ServerLess
公司目前的項(xiàng)目都是Springcloud,由于eureka2.X的斷更授瘦、以及Nacos面世竟宋,所以自然而然最近就進(jìn)行了一次試水爬坑丘侠,雖然過程艱苦,但是最終效果似乎還不錯(cuò)蜗字。
本文主要從以下幾點(diǎn)來帶大家熟悉下Nacos
- Nacos是什么
- Nacos的發(fā)展歷程
- Nacos能做什么
- Nacos無縫接入各大生態(tài)
Nacos是什么
Nacos是什么挪捕?好像沒聽過,不要緊级零。那Eureka聽說過吧,在SpringCloud中做服務(wù)注冊(cè)中心組件鉴嗤,類似的還有Zookeeper醉锅、Consul。
所以Nacos也是一個(gè)注冊(cè)中心組件咯硬耍,當(dāng)然是经柴,不過它不僅僅是注冊(cè)中心。
Nacos也是一個(gè)配置中心朦前,比如SpringCloud中的Config鹃操,將配置文件版本化管理。
那么Nacos到底是什么呢, 總結(jié)為官網(wǎng)一句話就是:
Nacos 致力于幫助您發(fā)現(xiàn)恩伺、配置和管理微服務(wù)椰拒。Nacos 提供了一組簡(jiǎn)單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)褒脯、服務(wù)配置缆毁、服務(wù)元數(shù)據(jù)及流量管理。
Nacos的發(fā)展歷程
首先要說Nacos的發(fā)展歷程就要從阿里巴巴的內(nèi)部產(chǎn)品ConfigServer說起了颁督,因?yàn)?strong>Nacos是ConfigServer 的開源實(shí)現(xiàn)
早在2008年阿里就開始服務(wù)化的進(jìn)程(那個(gè)時(shí)候我好像還在上初中啊)沉御,在那個(gè)時(shí)候阿里內(nèi)部自研的服務(wù)發(fā)現(xiàn)解決方案就叫做ConfigServer
ConfigServer經(jīng)歷了十年的發(fā)展從V1.0的單機(jī)版演變?yōu)槟壳皩?duì)外公布的V4.0集群版昭灵。
2018年7月阿里巴巴高級(jí)技術(shù)專家許真恩(慕義)發(fā)布了Nacos首個(gè)開源版本V0.1.0聂儒,Nacos作為ConfigServer的開源實(shí)現(xiàn)截止目前已經(jīng)更新到了V1.0.1的大版本硫痰,并且支持大規(guī)模生產(chǎn)版本效斑。
Nacos能做什么
雖然官方文檔也有介紹柱徙,但是語言比較官方,我就用大白話談一點(diǎn)自己的使用感受敌完。
-
服務(wù)注冊(cè)發(fā)現(xiàn)和服務(wù)健康檢測(cè)
Nacos支持基于DNS和基于RPC的服務(wù)發(fā)現(xiàn)羊初,服務(wù)端可以通過SDK或者Api進(jìn)行服務(wù)注冊(cè)长赞,相應(yīng)的服務(wù)消費(fèi)者可以使用DNS或者Http查找的方式獲取服務(wù)列表。Nacos同時(shí)提供對(duì)服務(wù)的實(shí)時(shí)健康檢查得哆,阻止想不健康的主機(jī)或服務(wù)發(fā)送請(qǐng)求贩据,與Eureka類似Nacos也有友好的控制臺(tái)界面。
-
動(dòng)態(tài)配置服務(wù)
接觸過SpringCloud應(yīng)該對(duì)config有所了解矾芙,那么配置中心也就很好理解蠕啄,Nacos支持動(dòng)態(tài)的配置管理戈锻,將服務(wù)的配置信息分環(huán)境分類別外部管理,并且支持熱更新哈街。不過與Config不同Nacos的配置信息存儲(chǔ)與數(shù)據(jù)庫(kù)中拒迅,支持配置信息的監(jiān)聽和版本回滾她倘。
-
動(dòng)態(tài)DNS服務(wù)
支持權(quán)重路由硬梁,更容易地實(shí)現(xiàn)中間層負(fù)載均衡胞得、更靈活的路由策略阶剑、流量控制以及數(shù)據(jù)中心內(nèi)網(wǎng)的簡(jiǎn)單DNS解析服務(wù)。不過這個(gè)特性目前版本還不支持
-
服務(wù)及元數(shù)據(jù)管理
Nacos 能讓您從微服務(wù)平臺(tái)建設(shè)的視角管理數(shù)據(jù)中心的所有服務(wù)及元數(shù)據(jù)素邪,包括管理服務(wù)的描述猪半、生命周期、服務(wù)的靜態(tài)依賴分析烘绽、服務(wù)的健康狀態(tài)俐填、服務(wù)的流量管理、路由及安全策略盏檐、服務(wù)的 SLA 以及最首要的 metrics 統(tǒng)計(jì)數(shù)據(jù)驶悟。
Nacos無縫接入各大生態(tài)
首先先上一張官方的生態(tài)圖
除了對(duì)于阿里開源生態(tài)體系如 Dubbo 等自身的支持痕鳍,也非常強(qiáng)調(diào)融入其它的開源生態(tài),這里就包括 Java 的微服務(wù)生態(tài)體系 Spring Cloud熊响,Kubernetes/CNCF 云原生生態(tài)體系诗赌。
Nacos 無縫支持 Spring Cloud,為 Spring Cloud 用戶其提供更簡(jiǎn)便的配置中心和注冊(cè)中心的解決方案洪碳。
Nacos支持目前幾乎所有主流的微服務(wù)生態(tài)體系。
總結(jié)
Nacos從官方的介紹上看瞳腌,就像是SpringCloud中Eureka+Config+Bus+Git+MQ的一個(gè)結(jié)合體绞铃,當(dāng)然也不能完全這么理解。Nacos是脫胎于阿里內(nèi)部的ConfigServer嫂侍,而ConfigServer早在3.0版本就解決了Eureka在1.0版本留下的隱患儿捧,所以從技術(shù)的更新和迭代角度來看,穩(wěn)定版本的Nacos將更適合做為微服務(wù)體系中的服務(wù)注冊(cè)發(fā)現(xiàn)組件吵冒,當(dāng)然了他也不單單只是注冊(cè)和發(fā)現(xiàn)。更多的特性和功能西剥,不如一起搭建試試吧痹栖。