3月20號,Nacos 2.0.0 正式釋出了!
Nacos 簡介:
一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平臺。
通俗點講,Nacos 就是一把微服務雙刃劍:註冊中心 + 配置中心,由阿里巴巴於 2018 年開源。
Nacos 2.0.0
架構模型
新架構:
Nacos 2.0 架構最主要的變化就是增加了對長連線的支援,gRPC 和 Rsocket 實現了長連線 RPC 呼叫和推送能力。
新服務模型:
相比 1.x 有不少的變化。
依賴升級
- 升級 Nacos Api / Client 模組以支援 JDK 1.8
新特性
Nacos 2.0 新增了 13 個新特性:
- 增加 gRPC 連線核心功能
- 配置模組支援 gRPC
- 命名模組支援 gRPC
- 客戶端支援 gRPC
- gRPC 客戶端支援重新連線
- 支援通過 gRPC 推送資料
- 支援 gRPC 連線事件通知
- 支援連線負載平衡
- 支援 gRPC 請求認證
- 命名模組支援 Jraft 後設資料操作
- 支援基本連線限制
- 支援健康檢查
- 支援升級和降級
最主要的特性是新增了對 gRPC 框架的支援,gRPC 是一款開源的基於 HTTP/2 標準設計的高效能 RPC 框架,最早由 Google 開源,這也是為啥是 gRPC 名字的原因了。
增強功能
Nacos 2.0 還帶來了 6 個增強功能:
- 非同步執行一些耗時的操作
- SDK 多語言支援
- 增加一些度量、日誌支援
- 全面支援自定義例項註冊
- 支援單推當首次訂閱服務時
- 支援通過閾值健康保護
重構
Nacos 2.0 的 2 個重構項:
- 命名客戶端重構網路代理
- 重構和適配 v1 openAPI
Bug 修復
- 修復了 14 個 Nacos 1.x 中的 bug
測試
- 新增 Nacos 2.0 單元測試
效能提升
看下官方對 Nacos 2.0 的測試資料總結:
1)Nacos 2.0 註冊效能相比較 Nacos 1.x 總體提升至少 2 倍;
2)Nacos 2.0 查詢效能相比較 Nacos 1.x 總體提升至少 3 倍,單機多執行緒甚至提升了 10 倍;
3)Nacos 2.0 登出例項效能比較 Nacos 1.x 總體提升至少 2 倍。
規劃路線圖
Nacos 2.x 到 3.x 整體規劃是外掛化提升擴充性,提升易用性,到了 3.x 還會計劃支援 Service Mesh,這畢竟是未來微服務的發展趨勢。
總結
Nacos 2.x 改動還是挺大的,包括底層架構、服務模型,另外,效能也更牛叉,最高效能之處 Nacos 2.0 硬是比 1.x 提升了 10 倍,可想 Nacos 2.x 還是很香的!
另外說下 Spring Cloud Eureka,Eureka 2.0 已經停止維護了:
現在主流用的都是 Eureka 1.x,看了下倉庫,1.x 也幾乎也沒怎麼更新了,這個確實有點傷,其實市面上也有其他替代品, Nacos 就是一個不錯的選擇,Nacos 可以同時搞定註冊中心、配置中心,開源、高效能,發展勢頭很猛,並且提供了 Spring Cloud 依賴整合。
註冊中心:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${latest.version}</version>
</dependency>
配置中心:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${latest.version}</version>
</dependency>
更多參考 Spring Cloud 整合文件:
更多 Spring Cloud 教程,大家可以關注公眾號Java技術棧,在後臺回覆:spring,可以閱讀棧長整理的一系列 Spring C loud 系列教程。
如果你現在使用的 Nacos 1.x,官方也提供了升級教程:
不過目前只支援 Nacos 1.x 到 Nacos 2.0.0-BETA 版本的平滑升級,暫不支援 Nacos 1.x 版本到 Nacos 2.0.0-ALPHA 正式版的平滑升級,後續會支援部分版本到該版本的平滑升級,大家可以關注後續的升級文件。
你們用的啥註冊中心呢?來,一起來投票看看大家都用的啥~
最後,覺得我的文章對你用收穫的話,動動小手,給個在看、轉發,原創不易,棧長需要你的鼓勵。
關注公眾號Java技術棧,可以獲取後續更多技術乾貨、最新技術動態推送。
參考:
https://github.com/alibaba/nacos/releases
https://my.oschina.net/u/3585447/blog/4818143
版權申明:本文系公眾號 "Java技術棧" 原創,原創實屬不易,轉載、引用本文內容請註明出處,禁止抄襲、洗稿,請自重,尊重他人勞動成果和智慧財產權。