摘要:?1、貢獻(xiàn) Dubbo 生態(tài),阿里 Nacos 發(fā)布 v0.1.0 版本 在 6 月份 Aliware 技術(shù)行上海站 Dubbo 開發(fā)者沙龍上,阿里巴巴高級技術(shù)專家郭平 (坤宇) 宣布了阿里巴巴的一個(gè)新開源項(xiàng)目 Nacos,在上周五凌晨 (7 月 20 日) 低調(diào)發(fā)布了第一個(gè)版本。
1、貢獻(xiàn) Dubbo 生態(tài),阿里 Nacos 發(fā)布 v0.1.0 版本
在 6 月份 Aliware 技術(shù)行上海站 Dubbo 開發(fā)者沙龍上,阿里巴巴高級技術(shù)專家郭平 (坤宇) 宣布了阿里巴巴的一個(gè)新開源項(xiàng)目 Nacos,在上周五凌晨 (7 月 20 日) 低調(diào)發(fā)布了第一個(gè)版本。
https://nacos.io/#/?lang=zh-cn
坤宇在上一次線下活動(dòng)中介紹了這個(gè)開源項(xiàng)目的初衷,他表示 “將通過 Nacos 項(xiàng)目將阿里巴巴在建設(shè)共享服務(wù)體系中使用的服務(wù)發(fā)現(xiàn)、配置及服務(wù)管理平臺貢獻(xiàn)給開源社區(qū),通過打造 Dubbo + Nacos 的經(jīng)典組合進(jìn)一步釋放 Dubbo 在云原生及 Service Mesh 時(shí)代中,在大規(guī)模微服務(wù)治理、流量治理、服務(wù)集成與服務(wù)共享等服務(wù)平臺能力建設(shè)上的威力,同時(shí) Nacos 會(huì)非常關(guān)注對主流開源社區(qū),如 Spring Cloud 和 Kubernetes 云原生體系的無縫對接與支持”。
該項(xiàng)目目前的計(jì)劃是通過未來 6~8 個(gè)月的持續(xù)努力,release 的 0.8 版本開始達(dá)到生產(chǎn)可用的狀態(tài),同時(shí)計(jì)劃堅(jiān)持社區(qū)化發(fā)展,在未來一年里計(jì)劃吸收至少 10 名外部 Committer 和 5 個(gè)外部 PMC.
2、什么是 Nacos /nɑ:k??s/?
Nacos 是阿里巴巴的新開源項(xiàng)目,Nacos 發(fā)布 v0.1.0 版本的同時(shí)也發(fā)布了中英雙語的官網(wǎng),從其官網(wǎng)描述來看,其核心定位是 “一個(gè)更易于幫助構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置和服務(wù)管理平臺”。
Nacos 有三大主要功能:
? 任務(wù)發(fā)現(xiàn)與服務(wù)管理
在采用以“服務(wù) (Service)”為中心的諸如微服務(wù)及云原生方式的現(xiàn)代應(yīng)用架構(gòu)時(shí),動(dòng)態(tài)服務(wù)發(fā)現(xiàn)至關(guān)重要。 Nacos 同時(shí)支持基于 DNS 和基于 RPC(如 Dubbo/gRPC)的服務(wù)發(fā)現(xiàn),并為您提供服務(wù)的實(shí)時(shí)的健康檢查以防止將請求發(fā)送給不健康的主機(jī),基于 Nacos 您也可以更方便的實(shí)現(xiàn)服務(wù)斷路器。Nacos 提供的強(qiáng)大的服務(wù)的元數(shù)據(jù)管理,路由及流量管理策略也能夠幫助您更好的構(gòu)建更強(qiáng)壯的微服務(wù)平臺。
? 動(dòng)態(tài)配置管理
動(dòng)態(tài)配置服務(wù)允許您在所有環(huán)境中以集中和動(dòng)態(tài)的方式管理所有應(yīng)用程序或服務(wù)的配置。動(dòng)態(tài)配置消除了配置更新時(shí)重新部署應(yīng)用程序和服務(wù)的需要。可以更方便的幫助您實(shí)現(xiàn)無狀態(tài)服務(wù),更輕松地實(shí)現(xiàn)按需彈性擴(kuò)展服務(wù)實(shí)例。
? 動(dòng)態(tài) DNS 服務(wù)
支持權(quán)重路由的動(dòng)態(tài) DNS 服務(wù)使您可以更輕松地在數(shù)據(jù)中心內(nèi)的生產(chǎn)環(huán)境中實(shí)施中間層負(fù)載平衡,靈活的路由策略,流量控制和簡單的 DNS 解析服務(wù),動(dòng)態(tài) DNS 服務(wù)也幫你更容易的實(shí)現(xiàn)以 DNS 協(xié)議為基礎(chǔ)的服務(wù)發(fā)現(xiàn),以消除耦合到廠商私有服務(wù)發(fā)現(xiàn) API 上的風(fēng)險(xiǎn)。
3、為什么開源 Nacos
阿里巴巴為什么選擇這么一個(gè)時(shí)間點(diǎn)開源 Nacos,其背后的思考是什么,在更早的線下技術(shù)活動(dòng)中,@坤宇也給出了詳細(xì)的解讀,坤宇表示主要基于以下幾點(diǎn):
? 圍繞著 Service 為中心的分布式基礎(chǔ)設(shè)施正在變的越來越重要
世界正在變的更快,創(chuàng)新和市場競爭的節(jié)奏正在變得愈發(fā)劇烈,如何超快速實(shí)現(xiàn)業(yè)務(wù)增長成為商業(yè)競爭的主旋律,幾乎一夜之間共享單車就火遍全國,不到幾年滴滴就改變了我們的打車方式,騰訊三班倒實(shí)現(xiàn)全民“吃雞”,現(xiàn)在企業(yè)估值在從 0 到 100 億所需的時(shí)間越來越短,而企業(yè)的平均壽命從標(biāo)普的數(shù)據(jù)來看卻從上世紀(jì) 60 年代的 60 年下降到了今天的 15 年,一切都表示創(chuàng)新和競爭的速度和烈度在加強(qiáng)。
另一方面技術(shù)基礎(chǔ)設(shè)施的敏捷和有效性在商業(yè)成功的要素上占據(jù)的比重越來越大,云計(jì)算在資源和服務(wù)交付模式上的變革,帶來了效率的革命性提升,帶來了更敏捷的基礎(chǔ)設(shè)施(創(chuàng)業(yè)不用再買機(jī)器并找機(jī)房托管,從以前的半年準(zhǔn)備周期到現(xiàn)在在云上的小時(shí)級創(chuàng)建全套服務(wù)),而在應(yīng)用架構(gòu)層面,微服務(wù)架構(gòu)模式帶來的靈活性、韌勁,快速組合和聚合原子服務(wù)從而創(chuàng)新,給業(yè)務(wù)快速創(chuàng)新和試錯(cuò)提供了條件,已經(jīng)被越來越多的應(yīng)用平臺證明其有效性,技術(shù)基礎(chǔ)設(shè)施的更敏捷,給商業(yè)的敏捷和商業(yè)的競爭優(yōu)勢提供了基礎(chǔ)。
在今天,無論是云計(jì)算,微服務(wù)還是圍繞 Kubernetes 為中心的云原生,都在強(qiáng)調(diào)以“服務(wù)”為內(nèi)核的應(yīng)用架構(gòu)模式,如果說 15 年前我們在討論“一切皆是對象”構(gòu)建單體系統(tǒng),那么今天我們就是在談?wù)摗耙磺薪允欠?wù)”,10 年前淘寶服務(wù)化改造順應(yīng)了這種趨勢,8 年前微服務(wù)架構(gòu)思想也順應(yīng)了這個(gè)趨勢,今天面向“服務(wù)”的各種分布式基礎(chǔ)設(shè)施正在變得越來越重要,站在阿里巴巴 10 年的服務(wù)化發(fā)展經(jīng)驗(yàn)上看,在大規(guī)模服務(wù)發(fā)現(xiàn)和服務(wù)治理和服務(wù)共享領(lǐng)域現(xiàn)有的開源解決方案是不是都已經(jīng)非常完美了呢?根據(jù)阿里巴巴服務(wù)化走過的這些年的生產(chǎn)經(jīng)驗(yàn)來看,我們覺得并沒有。
? 阿里巴巴在 "共享服務(wù)體系" 建設(shè)上的經(jīng)驗(yàn)可以在各個(gè)行業(yè)大規(guī)模復(fù)用
阿里巴巴中臺理念和體系,與云原生在精神的“道”上完全契合,即“厚技術(shù)平臺,薄應(yīng)用” 支持業(yè)務(wù)的快速創(chuàng)新與試錯(cuò),從而贏得市場,中臺體系倡導(dǎo)雙引擎架構(gòu),略過“大數(shù)據(jù)”不談,但看業(yè)務(wù)中臺,就是一個(gè)大的以“服務(wù)”為中心的共享服務(wù)平臺,在線服務(wù)沉淀業(yè)務(wù)數(shù)據(jù),同步到大數(shù)據(jù)平臺計(jì)算和挖掘,大數(shù)據(jù)平臺則通過數(shù)據(jù)回饋,指導(dǎo)業(yè)務(wù)及服務(wù)的創(chuàng)新,支成可沉淀和可共享“服務(wù)”體系的服務(wù)注冊與服務(wù)治理平臺是這個(gè)體系的關(guān)鍵要素之一。
? “服務(wù)治理,服務(wù)沉淀、服務(wù)共享和服務(wù)的可持續(xù)發(fā)展”是“共享服務(wù)體系”的核心價(jià)值主張
支持創(chuàng)新從小苗長成參天大樹,服務(wù)平臺不斷演進(jìn),這一切需要一個(gè)強(qiáng)大的服務(wù)平臺和服務(wù)基礎(chǔ)設(shè)施的支撐。
? 阿里巴巴將通過 Dubbo + Nacos 以及一系列開源項(xiàng)目打造服務(wù)發(fā)現(xiàn)、服務(wù)及流量管理、服務(wù)共享平臺
4、Nacos 與 主流開源生態(tài)的關(guān)系
Nacos 不會(huì)是個(gè)封閉的體系,除了對于阿里開源生態(tài)體系如 Dubbo 等自身的支持,也非常強(qiáng)調(diào)融入其它的開源生態(tài),這里就包括 Java 的微服務(wù)生態(tài)體系 Spring Cloud,Kubernetes/CNCF 云原生生態(tài)體系,正如 Nacos 的未來全景圖展示的那樣
? Dubbo + Nacos, 專為 Dubbo 而生的注冊中心與配置中心
在阿里巴巴生產(chǎn)環(huán)境上,Dubbo 和 Nacos 天然就是長在一起的,因?yàn)?Nacos 的缺失,傳統(tǒng)的注冊中心解決方案讓 Dubbo 在服務(wù)治理、流量治理、服務(wù)運(yùn)營和管理等方面的威力被限制和削弱了,Nacos 的開源和開放會(huì)在采用 Dubbo 的用戶環(huán)境中釋放這些威力
? Nacos 會(huì)完全兼容 Spring Cloud
Nacos 會(huì)無縫支持 Spring Cloud,為 Spring Cloud 用戶其提供更簡便的配置中心和注冊中心的解決方案,使用 Nacos 不用再僅僅為服務(wù)和配置就需要在生產(chǎn)上 hold 住 Eureka,Spring Cloud Config Server,Git,RabbitMQ/Kafka 起碼四個(gè)開源產(chǎn)品。
? Nacos 支持 Kubernetes DNS-based Service Discovery
在演講中坤宇也表示,阿里巴巴這么多年在 VIPServer DNS-based Service Discovery 上的實(shí)踐證明,在云原生時(shí)代,應(yīng)用會(huì)更關(guān)注與基礎(chǔ)設(shè)施的解耦合、多語言乃至多云的訴求,服務(wù)發(fā)現(xiàn)的未來一定是基于標(biāo)準(zhǔn)的 DNS 協(xié)議做,而不是像 Eureka 或者像 ZooKeeper 這樣的私有 API 或者協(xié)議做, 同時(shí)在云上,在服務(wù)發(fā)現(xiàn)場景中,注冊中心更關(guān)注的是可用性而不是數(shù)據(jù)一致性,所以 Nacos 會(huì)首推 DNS-based Servcie Discovery,并優(yōu)先關(guān)注可用性,而這也正是 Nacos 可以無縫融合進(jìn) Kubernetes 服務(wù)發(fā)現(xiàn)體系的原因所在
? Nacos 會(huì)填補(bǔ) Spring Cloud 體系與 Kubernetes 體系的鴻溝
未來會(huì)有越來越多 java 生態(tài)的用戶會(huì)選擇 Kubernetes+Spring Cloud 組合,但不幸的是,在服務(wù)發(fā)現(xiàn)和配置管理的解決方案上,這 2 個(gè)體系都采用了完全不同的方案,這給同時(shí)采用 2 個(gè)體系的用戶在注冊中心和配置中心的需求上帶來了非常大的不必要的復(fù)雜性。Nacos 會(huì)嘗試填補(bǔ) 2 者的鴻溝,以便在 2 套體系下可以采用同一套服務(wù)發(fā)現(xiàn)和配置管理的解決方案,這將大大的簡化使用和維護(hù)的成本。
? Nacos 與 Service Mesh
5、Nacos v0.1.0 特性預(yù)覽
? 特性預(yù)覽
相較于 @坤宇 6 月份對 Nacos v1.0 版本的部分特性給的整體預(yù)覽
Nacos v0.1.0 還處于剛起步階段,從 CHANGELOG.md 看
Nacos v0.1.0 這個(gè)版本主要是發(fā)布了基本的 Server 端代碼, OpenAPI 以及 JavaSDK.
? 快速開始
從 Nacos 的快速開始來看,Nacos 確實(shí)是極易上手,幾乎免安裝,只需要簡單的解壓包, 啟動(dòng) server 即可
核心的服務(wù)注冊 & 發(fā)現(xiàn),配置管理的 Demo API 也非常簡單和直白:
從 Nacos 的文檔 (https://nacos.io/#/docs/architecture.md?lang=en-us)?來看,在部署形態(tài)上,Nacos 會(huì)支持多種部署形態(tài),包括注冊中心與配置中心的分離部署,同時(shí)在阿里云上提供 Nacos 相應(yīng)商業(yè)化版本的免費(fèi)的 SaaS 化服務(wù),可以直接在阿里云上開通賬戶免費(fèi)體驗(yàn) Nacos 對應(yīng)的商業(yè)產(chǎn)品,在開源與商業(yè)化版本差別上,商業(yè)化的 ACM (https://www.aliyun.com/product/acm)?以及 EDAS ANS (https://www.aliyun.com/product/edas)?更強(qiáng)調(diào)與阿里云其它云服務(wù)以及其它 Aliware PaaS 的商業(yè)產(chǎn)品的集成體驗(yàn)以及提供商業(yè)服務(wù)。
6、Nacos 的主要產(chǎn)品里程碑及計(jì)劃
Nacos v0.8.0 - Production Ready Version
在 Nacos 社區(qū) RoadMap 文檔 (https://nacos.io/#/docs/roadmap.md?lang=en-us)?中,也大概公布了 Nacos 后續(xù)的 1.0 及 2.0 的主要里程碑和版本研發(fā)計(jì)劃, 同時(shí)特別強(qiáng)調(diào)了 Nacos v0.8.0 Production Ready 之前不建議在生產(chǎn)上大規(guī)模使用。
We plan to make Nacos available for production from Nacos 0.8.0. Prior to this release, we recommend that you use it only in development and test environments.
Our current plan is to strive to make Nacos production ready in the 6-8 months. The plan might be adjusted due to various factors, including the priority adjustment according to the voice of the community, but the overall plan is that it should not take longer than one year.
看來因?yàn)?Nacos 是脫胎于阿里巴巴的生產(chǎn)代碼,整體體系可能非常龐雜,在代碼梳理、重構(gòu)和剝離與內(nèi)部的耦合上是一個(gè)漸進(jìn)的過程,Nacos 整體研發(fā)計(jì)劃是在未來 6-8 個(gè)月將達(dá)到生產(chǎn)可用的狀態(tài)。
7、社區(qū)化發(fā)展,歡迎加入并貢獻(xiàn)社區(qū)
DISS is cheap, show me your hand 比吐槽更重要的是搭把手,參與社區(qū)一起發(fā)展 Nacos
與阿里巴巴早期的開源不同,阿里巴巴新一輪的開源包括 RocketMQ,Pouch Container,Dubbo, Nacos, Sentinel 等開源產(chǎn)品更強(qiáng)調(diào)社區(qū)化的發(fā)展與社區(qū)的多樣性,鼓勵(lì)更多的公司和更多的開發(fā)者參與到開源項(xiàng)目中來,依托于社區(qū)將產(chǎn)品做得更好,同時(shí)一開始就會(huì)關(guān)注國際化,與國外同類產(chǎn)品的直面競爭。
Nacos 初步計(jì)劃,在第一年就吸收至少超過 5 名來自其它公司的 PMC, 至少 10 名的外部 Committer, 而且 Nacos 處在項(xiàng)目開源的初期,有大把的空間讓有想法、有熱情、有能力的開發(fā)者參與進(jìn)來,如果您對 Nacos 這個(gè)開源項(xiàng)目感興趣,可以加入 Nacos 社區(qū)。你可以通過掃 “超哥” 的微信二維碼,讓“超哥” 幫你加入 “Nacos 社區(qū)交流群” 。
8、如何貢獻(xiàn) Nacos 社區(qū)?
Nacos 本身在很多方面都急需要社區(qū)的幫助,以下幾個(gè)方面都是可貢獻(xiàn)和共建的重點(diǎn)方向:
? 在未來的產(chǎn)品和生產(chǎn)計(jì)劃中使用、集成、共建 Nacos
? UI 前端及視覺大牛指導(dǎo) Nacos 管控 UI 建設(shè)
? 提供與 Spring Cloud、Kubernetes、Service Mesh 等關(guān)聯(lián)開源體系融合與集成代碼和項(xiàng)目
? 貢獻(xiàn)多語言客戶端
? 提交需求,proposal,PR
? 貢獻(xiàn)文檔
? 分享自己與 Nacos 相關(guān)的故事
? 在 github 上 star Nacos, 鼓勵(lì)一下程序員們
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
評論
查看更多