支持Dubbo生態發展,阿里巴巴啓動新的開源項目 Nacos

摘要: 上週六的Aliware技術行上海站Dubbo開發者沙龍上,阿里巴巴高級技術專家郭平(坤宇)宣佈了阿里巴巴的一個新開源計劃,阿里巴巴計劃在7月份開啓一個名叫Nacos的新開源項目, 在活動演講中,坤宇介紹了這個開源項目的初衷,他表示 「將經過Nacos項目將阿里巴巴在建設共享服務體系中使用的服務發現、.前端

貢獻Dubbo生態,阿里Nacos開源計劃
在上週六的Aliware技術行上海站Dubbo開發者沙龍上,阿里巴巴高級技術專家郭平(坤宇)宣佈了阿里巴巴的一個新開源計劃,阿里巴巴計劃在7月份開啓一個名叫Nacos的新開源項目, 在活動演講中,坤宇介紹了這個開源項目的初衷,他表示 「將經過Nacos項目將阿里巴巴在建設共享服務體系中使用的服務發現、配置及服務管理平臺貢獻給開源社區,經過打造Dubbo + Nacos的經典組合進一步釋放Dubbo在雲原生及Service Mesh時代中,在大規模微服務治理、流量治理、服務集成與服務共享等服務平臺能力建設上的威力,同時Nacos會很是關注對主流開源社區,如Spring Cloud和Kubernetes雲原生體系的無縫對接與支持」。該項目預計在7月中旬以前開放首個測試預覽版本,並計劃在將來6~8個月release的0.8版本開始達到生產可用的狀態。java

活動的 視頻回放架構

什麼是 Nacos /nɑ:kəʊs/?
Nacos 是阿里巴巴的新開源項目,其核心定位是 「一個更易於幫助構建雲原生應用的動態服務發現、配置和服務管理平臺」。分佈式

圖片描述

Nacos 有三大主要功能:微服務

服務發現與服務管理
在採用以「服務(Service)」爲中心的諸如微服務及雲原生方式的現代應用架構時,動態服務發現相當重要。 Nacos同時支持基於DNS和基於RPC(如Dubbo/gRPC)的服務發現,併爲您提供服務的實時的健康檢查以防止將請求發送給不健康的主機,基於Nacos您也能夠更方便的實現服務斷路器。Nacos提供的強大的服務的元數據管理,路由及流量管理策略也可以幫助您更好的構建更強壯的微服務平臺。測試

動態配置管理
動態配置服務容許您在全部環境中以集中和動態的方式管理全部應用程序或服務的配置。動態配置消除了配置更新時從新部署應用程序和服務的須要。能夠更方便的幫助您實現無狀態服務,更輕鬆地實現按需彈性擴展服務實例。大數據

動態DNS服務
支持權重路由的動態DNS服務使您能夠更輕鬆地在數據中心內的生產環境中實施中間層負載平衡,靈活的路由策略,流量控制和簡單的DNS解析服務,幫助您更容易的實現DNS-based服務發現。阿里雲

爲何開源 Nacos
阿里巴巴爲何選擇這麼一個時間點開源Nacos,其背後的思考是什麼,坤宇也給出了詳細的解讀,在演講中,坤宇表示主意基於如下幾點:雲計算

圍繞着Service爲中心的分佈式基礎設施正在變的愈來愈重要
圖片描述spa

世界正在變的更快,創新和市場競爭的節奏正在變得愈發劇烈,如何超快速實現業務增加成爲商業競爭的主旋律,幾乎一晚上之間共享單車就火遍全國,不到幾年滴滴就改變了咱們的打車方式,騰訊三班倒實現全民「吃雞」,如今企業估值在從0到100億所需的時間愈來愈短,而企業的平均壽命從標普的數據來看卻從上世紀60年代的60年降低到了今天的15年,一切都表示創新和競爭的速度和烈度在增強。

另外一方面技術基礎設施的敏捷和有效性在商業成功的要素上佔據的比重愈來愈大,雲計算在資源和服務交付模式上的變革,帶來了效率的革命性提高,帶來了更敏捷的基礎設施(創業不用再買機器並找機房託管,從之前的半年準備週期到如今在雲上的小時級建立全套服務),而在應用架構層面,微服務架構模式帶來的靈活性、韌勁,快速組合和聚合原子服務從而創新,給業務快速創新和試錯提供了條件,已經被愈來愈多的應用平臺證實其有效性,技術基礎設施的更敏捷,給商業的敏捷和商業的競爭優點提供了基礎。

在今天,不管是雲計算,微服務仍是圍繞Kubernetes爲中心的雲原生,都在強調以「服務」爲內核的應用架構模式,若是說15年前咱們在討論「一切皆是對象」構建單體系統,那麼今天咱們就是在談論「一切皆是服務」,10年前淘寶服務化改造順應了這種趨勢,8年前微服務架構思想也順應了這個趨勢,今天面向「服務」的各類分佈式基礎設施正在變得愈來愈重要,站在阿里巴巴10年的服務化發展經驗上看,在大規模服務發現和服務治理和服務共享領域現有的開源解決方案是否是都已經很是完美了呢?根據阿里巴巴服務化走過的這些年的生產經驗來看,咱們以爲並無。

阿里巴巴在 "共享服務體系" 建設上的經驗能夠在各個行業大規模複用
圖片描述

阿里巴巴中臺理念和體系,與雲原生在精神的「道」上徹底契合,即「厚技術平臺,薄應用」 支持業務的快速創新與試錯,從而贏得市場,中臺體系倡導雙引擎架構,略過「大數據」不談,但看業務中臺,就是一個大的以「服務」爲中心的共享服務平臺,在線服務沉澱業務數據,同步到大數據平臺計算和挖掘,大數據平臺則經過數據回饋,指導業務及服務的創新,支成可沉澱和可共享「服務」體系的服務註冊與服務治理平臺是這個體系的關鍵要素之一。

「服務治理,服務沉澱、服務共享和服務的可持續發展」是「共享服務體系」的核心價值主張
支持創新從小苗長成參天大樹,服務平臺不斷演進,這一切須要一個強大的服務平臺和服務基礎設施的支撐。

圖片描述

阿里巴巴將經過Dubbo + Nacos以及一系列開源項目打造服務發現、服務及流量管理、服務共享平臺

圖片描述

Nacos 與 主流開源生態的關係
Nacos 不會是個封閉的體系,除了對於阿里開源生態體系如Dubbo等自身的支持,也很是強調融入其它的開源生態,這裏就包括Java的微服務生態體系Spring Cloud,Kubernetes/CNCF雲原生生態體系,正如Nacos的將來全景圖展現的那樣

圖片描述

Dubbo + Nacos, 專爲Dubbo而生的註冊中心與配置中心
在阿里巴巴生產環境上,Dubbo和Nacos自然就是長在一塊兒的,由於Nacos的缺失,傳統的註冊中心解決方案讓Dubbo在服務治理、流量治理、服務運營和管理等方面的威力被限制和削弱了,Nacos的開源和開放會在採用Dubbo的用戶環境中釋放這些威力

圖片描述

Nacos 會徹底兼容Spring Cloud
Nacos會無縫支持Spring Cloud,爲Spring Cloud用戶其提供更簡便的配置中心和註冊中心的解決方案,使用Nacos不用再僅僅爲服務和配置就須要在生產上hold住 Eureka,Spring Cloud Config Server,Git,RabbitMQ/Kafka 起碼四個開源產品。

圖片描述

Nacos 支持Kubernetes DNS-based Service Discovery
在演講中坤宇也表示,阿里巴巴這麼多年在VIPServer DNS-based Service Discovery上的實踐證實,在雲原生時代,應用會更關注與基礎設施的解耦合、多語言乃至多雲的訴求,服務發現的將來必定是基於標準的DNS協議作,而不是像Eureka或者像ZooKeeper這樣的私有API或者協議作, 同時在雲上,在服務發現場景中,註冊中心更關注的是可用性而不是數據一致性,因此Nacos會首推DNS-based Servcie Discovery,並優先關注可用性,而這也正是Nacos能夠無縫融合進Kubernetes服務發現體系的緣由所在

圖片描述

Nacos 會填補Spring Cloud 體系與 Kubernetes 體系的鴻溝

將來會有愈來愈多java生態的用戶會選擇 Kubernetes+Spring Cloud 組合,但不幸的是,在服務發現和配置管理的解決方案上,這2個體系都採用了徹底不一樣的方案,這給同時採用2個體系的用戶在註冊中心和配置中心的需求上帶來了很是大的沒必要要的複雜性。Nacos會嘗試填補2者的鴻溝,以便在2套體系下能夠採用同一套服務發現和配置管理的解決方案,這將大大的簡化使用和維護的成本。

圖片描述

Nacos 與 Service Mesh

圖片描述

Nacos 部分特性預覽
同時在會上,坤宇對Nacos 1.0版本的部分特性給你們作了預覽

圖片描述

每一個產品都有本身的風格和標籤,坤宇在演講中表示,團隊會經過持續的貢獻和努力,但願將來給Nacos貼上四個方面的標籤

圖片描述

在部署形態上,Nacos會支持多種部署形態,包括註冊中心與配置中心的分離部署,同時在阿里雲上提供Nacos的SaaS化部署服務,感興趣的能夠直接在阿里雲上開通帳戶免費體驗Nacos服務,在開源與商業化版本差異上,商業化的ACM以及EDAS ANS更強調與阿里雲其它雲服務以及其它Aliware PaaS的商業產品的集成體驗以及提供商業服務。

圖片描述

Nacos 的主要產品里程碑及計劃
羅馬不是一天建成的,吾將上下而求索

由於Nacos是脫胎於阿里巴巴的生產代碼,總體體系很是龐雜,在代碼梳理、重構和剝離與內部的耦合上是一個漸進的過程,因此@坤宇特別提醒社區在Nacos 0.8達到生產可用狀態前,不建議用於生產,不過能夠在開發和測試環境嘗試使用,在0.8版本開始,你們能夠放心的用於生產環境,Nacos總體研發計劃是在將來6-8個月將達到生產可用的狀態,將來會很快啓動將Nacos貢獻給開源基金會進一步社區化發展。

圖片描述

Nacos 與相關開源產品的對比
君子和而不一樣

如上面對總體業務及技術形式的判斷,咱們能夠看到 Nacos 與同類競品的主要不一樣主要在於理念,@坤宇介紹說,嚴格來講這些市面上的產品並不與Nacos徹底對標,只是與Nacos裏面的服務發現部分對標,Nacos的將來更看重在這些產品的基礎上構建服務平臺的能力,而不只僅是在基礎的服務發現能力上。

圖片描述

社區化發展,歡迎加入並貢獻社區
DISS is cheap, show me your hand
比吐槽更重要的是搭把手,參與社區一塊兒發展Nacos

與阿里巴巴早期的開源不一樣,阿里巴巴新一輪的開源包括RocketMQ,Pouch Container,Dubbo, Nacos等開源產品更強調社區化的發展與社區的多樣性,鼓勵更多的公司和更多的開發者參與到開源項目中來,依託於社區將產品作得更好,同時一開始就會關注國際化,與國外同類產品的直面競爭。

Nacos初步計劃,在第一年就吸取至少超過5名來自其它公司的PMC,至少10名的外部Committer, 並且Nacos處在項目開源的初期,有大把的空間讓有想法、有熱情、有能力的開發者參與進來,Nacos自己在不少方面都急須要社區的幫助,這裏面就急需包括前端及UI建設,Spring Cloud、Kubernetes、Service Mesh體系融合與集成,多語言客戶端等各方面的技術領導者的參與,若是您對Nacos這個開源項目感興趣,歡迎加入Nacos社區。

原文連接

相關文章
相關標籤/搜索