一、Nacos入門介紹

前言
6月份阿里開源的Nacos發佈了1.0.1版本,從去年7月份第一個release版本到現在一直在默默關注

官方的版本規劃爲:Nacos從0.8.0開始支持生產可用,1.0版本可大規模生產可用,2.0版本接入k8s、SpringCloud、ServiceMesh、ServerLess

公司目前的項目都是Springcloud,由於eureka2.X的斷更、以及Nacos面世,所以自然而然最近就進行了一次試水爬坑,雖然過程艱苦,但是最終效果似乎還不錯。

本文主要從以下幾點來帶大家熟悉下Nacos

  1. Nacos是什麼
  2. Nacos的發展歷程
  3. Nacos能做什麼
  4. Nacos無縫接入各大生態

1.Nacos是什麼
Nacos是什麼?好像沒聽過,不要緊。那Eureka聽說過吧,在SpringCloud中做服務註冊中心組件,類似的還有Zookeeper、Consul。
所以Nacos也是一個註冊中心組件咯,當然是,不過它不僅僅是註冊中心

Nacos也是一個配置中心,比如SpringCloud中的Config,將配置文件版本化管理。

那麼Nacos到底是什麼呢, 總結爲官網一句話就是:
Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。

2.Nacos的發展歷程
首先要說Nacos的發展歷程就要從阿里巴巴的內部產品ConfigServer說起了,因爲Nacos是ConfigServer 的開源實現

早在2008年阿里就開始服務化的進程(那個時候我好像還在上初中啊),在那個時候阿里內部自研的服務發現解決方案就叫做ConfigServer

ConfigServer經歷了十年的發展從V1.0的單機版演變爲目前對外公佈的V4.0集羣版。

2018年7月阿里巴巴高級技術專家許真恩(慕義)發佈了Nacos首個開源版本V0.1.0,Nacos作爲ConfigServer的開源實現截止目前已經更新到了V1.0.1的大版本,並且支持大規模生產版本。

3.Nacos能做什麼
雖然官方文檔也有介紹,但是語言比較官方,我就用大白話談一點自己的使用感受。

  • 服務註冊發現和服務健康檢測

    Nacos支持基於DNS和基於RPC的服務發現,服務端可以通過SDK或者Api進行服務註冊,相應的服務消費者可以使用DNS或者Http查找的方式獲取服務列表。Nacos同時提供對服務的實時健康檢查,阻止想不健康的主機或服務發送請求,與Eureka類似Nacos也有友好的控制檯界面。
    在這裏插入圖片描述

  • 動態配置服務

    接觸過SpringCloud應該對config有所瞭解,那麼配置中心也就很好理解,Nacos支持動態的配置管理,將服務的配置信息分環境分類別外部管理,並且支持熱更新。不過與Config不同Nacos的配置信息存儲與數據庫中,支持配置信息的監聽和版本回滾。
    在這裏插入圖片描述

  • 動態DNS服務

    支持權重路由,更容易地實現中間層負載均衡、更靈活的路由策略、流量控制以及數據中心內網的簡單DNS解析服務。不過這個特性目前版本還不支持

  • 服務及元數據管理

    Nacos 能讓您從微服務平臺建設的視角管理數據中心的所有服務及元數據,包括管理服務的描述、生命週期、服務的靜態依賴分析、服務的健康狀態、服務的流量管理、路由及安全策略、服務的 SLA 以及最首要的 metrics 統計數據。

4.Nacos無縫接入各大生態
首先先上一張官方的生態圖

在這裏插入圖片描述

除了對於阿里開源生態體系如 Dubbo 等自身的支持,也非常強調融入其它的開源生態,這裏就包括 Java 的微服務生態體系 Spring Cloud,Kubernetes/CNCF 雲原生生態體系。

Nacos 無縫支持 Spring Cloud,爲 Spring Cloud 用戶其提供更簡便的配置中心和註冊中心的解決方案。

Nacos支持目前幾乎所有主流的微服務生態體系。

總結
Nacos從官方的介紹上看,就像是SpringCloud中Eureka+Config+Bus+Git+MQ的一個結合體,當然也不能完全這麼理解。Nacos是脫胎於阿里內部的ConfigServer,而ConfigServer早在3.0版本就解決了Eureka在1.0版本留下的隱患,所以從技術的更新和迭代角度來看,穩定版本的Nacos將更適合做爲微服務體系中的服務註冊發現組件,當然了他也不單單只是註冊和發現。更多的特性和功能,不如一起搭建試試吧。

參考與感謝
Nacos官方手冊

  • 待添加Nacos與各註冊中心的區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章