前言
本系列是從頭開始進行學習Nacos的相關知識,從相關概念到業務開發等等,本篇是第一篇,主要了解下Nacos的基礎資訊,方便大家技術選型,
入門篇:阿里Nacos系列——為什么要選擇Nacos和Nacos的基礎概念
1 為什么要用Nacos
1.eureka 2.0閉原始碼了,
2.開箱即用,上手簡潔,暫時也沒發現有太大的坑,
3.nacos使用的raft協議,nacos集群的一致性要遠大于eureka集群.
Raft 的資料一致性策略
Raft 協議強依賴 Leader 節點來確保集群資料一致性,即 client 發送過來的資料均先到達 Leader 節點,Leader 接收到資料后,先將資料標記為 uncommitted 狀態,隨后 Leader 開始向所有 Follower 復制資料并等待回應,在獲得集群中大于 N/2 個 Follower 的已成功接收資料完畢的回應后,Leader 將資料的狀態標記為 committed,隨后向 client 發送資料已接收確認,在向 client 發送出已資料接收后,再向所有 Follower 節點發送通知表明該資料狀態為committed,
對比圖

2 什么是Nacos
Nacos 是阿里巴巴開源的一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺,(配置中心、注冊中心)
官方說明:Nacos 致力于幫助您發現、配置和管理微服務,Nacos 提供了一組簡單易用的特性集,幫助您快速實作動態服務發現、服務配置、服務元資料及流量管理,
官方網址:http://nacos.io
2.1 服務發現
動態服務發現對以服務為中心的(例如微服務和云原生)應用架構方式非常關鍵,Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服務發現,Nacos也提供實時健康檢查,以防止將請求發往不健康的主機或服務實體,借助Nacos,您可以更容易地為您的服務實作斷路器,
| 描述 | 主要開發者 | 狀態 |
|---|---|---|
| 服務注冊與發現 | nkorange | 穩定 |
| 健康檢查(服務端探測、客戶端心跳) | xuanyin | 穩定 |
| 路由策略(權重、保護閾值、就近訪問) | wangjianwei | 穩定 |
2.2 配置管理
動態配置服務讓您能夠以中心化、外部化和動態化的方式管理所有環境的配置,動態配置消除了配置變更時重新部署應用和服務的需要,配置中心化管理讓實作無狀態服務更簡單,也讓按需彈性擴展服務更容易
| 描述 | 主要開發者 | 狀態 |
|---|---|---|
| 配置管理(發布、修改、查詢、監聽配置) | yanlinly | 穩定 |
| 灰度配置 | yanlinly | 穩定 |
| 加密配置 | 不支持 |
3 Nacos的特點
易于使用
- 動態配置管理、服務發現和動態的一站式解決方案
- 20多種開箱即用的以服務為中心的架構特性
- 基本符合生產要求的輕量級易用控制臺
更適應云架構
- 無縫支持Kubernetes和Spring Cloud
- 在主流公共云上更容易部署和運行(例如阿里云和AWS)
- 多租戶和多環境支持
生產等級
- 脫胎于歷經阿里巴巴10年生產驗證的內部產品
- 支持具有數百萬服務的大規模場景
- 具備企業級SLA的開源產品
豐富的應用場景
- 支持限流、大促銷預案和異地多活
- 直接支持或稍作擴展即可支持大量有用的互聯網應用場景
- 流量調度和服務治理
4 現已支持的客戶端
| 描述 | 主要開發者 | 狀態 |
|---|---|---|
| Java客戶端 | Nacos | 穩定 |
| Go客戶端 | atlanssia, lzp0412 | 穩定 |
| Node.js客戶端 | czy88840616, gxcsoccer | 穩定 |
| Python客戶端 | sanwei | beta |
| C#客戶端 | catcherwong | 推薦 |
| C++客戶端 | ||
| PHP客戶端 | ||
| Spring客戶端 | chuntaojun | 穩定 |
| SpringBoot客戶端 | chuntaojun | 穩定 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/274031.html
標籤:其他
