Nacos 2.0 正式釋出,效能提升 10 倍!!

Java技術棧發表於2021-03-29

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 整合文件:

https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html

更多 Spring Cloud 教程,大家可以關注公眾號Java技術棧,在後臺回覆:spring,可以閱讀棧長整理的一系列 Spring C loud 系列教程。

如果你現在使用的 Nacos 1.x,官方也提供了升級教程:

https://nacos.io/zh-cn/docs/2.0.0-upgrading.html

不過目前只支援 Nacos 1.x 到 Nacos 2.0.0-BETA 版本的平滑升級,暫不支援 Nacos 1.x 版本到 Nacos 2.0.0-ALPHA 正式版的平滑升級,後續會支援部分版本到該版本的平滑升級,大家可以關注後續的升級文件。

你們用的啥註冊中心呢?來,一起來投票看看大家都用的啥~

最後,覺得我的文章對你用收穫的話,動動小手,給個在看、轉發,原創不易,棧長需要你的鼓勵。

關注公眾號Java技術棧,可以獲取後續更多技術乾貨、最新技術動態推送。

參考:

https://nacos.io/zh-cn

https://github.com/alibaba/nacos/releases

https://my.oschina.net/u/3585447/blog/4818143

版權申明:本文系公眾號 "Java技術棧" 原創,原創實屬不易,轉載、引用本文內容請註明出處,禁止抄襲、洗稿,請自重,尊重他人勞動成果和智慧財產權。

相關文章