1. 程式人生 > 其它 >Nacos 2.1.0 正式釋出!

Nacos 2.1.0 正式釋出!

2.1.0 新特性

在社群小夥伴的共同努力下,經過了近1個月的Beta測試後,Nacos 2.1.0 正式釋出,支援鑑權及加解密外掛,關閉預設支援服務端從 1.X 版本升級的能力(若需要使用平滑升級能力,需要在配置檔案中開啟此功能)。

對於客戶端,此版本重構了類掃描邏輯並刪除了 org.reflections 依賴,以解決 org.reflections 衝突時的不相容問題。最後,這個版本做了一些控制檯優化並修復了 2.0.4 中發現的一些問題。

詳細變更日誌如下:

## Features
[#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0[#5696] Add a plugin SPI for authentication for Nacos 2.0.[#7930] Default close support upgrade from 1.X feature.[#7992] Support cluster grpc client to set thread pool size.[#8220] Add reset raft cluster operation.
## Enhancement & Refactor
[#7487] Add generics for the CacheBuilder.[#7879] Refactor destroy method of AbstractMemberLookup.[#7924][#8214] Add ldap auth plugin.[#7952] Ignore read request for raft follower's state machine to enhance raft stability.[#7966] Add more information in Auth/Distro/Curcuit-Filter when cause some server error.[#7971] Stop version judge Task and release thread after upgrade completely.[#8072] Enhance memory cost in DistroProtocol initialization.[#8107] Enhance console change password operation.[#8156] Support js and css of console auto-upgrade. 

## BugFix
[#1717][#7359] Fix XSS vulnerabilities.[#6273] Fix loop request for offline server nodes API.[#6999] Fix Nacos client does not support logback overload log configuration.[#7757] Fix jraft read request deserialize to write request problem. [#7780] Fix config a-b-a problem.[#7941] Fix version comparison error in Config Detail page.[#8087] Fix text out of box in configuration manager.[#8108] Fix throw NPR for health check for v2.[#8050] Fix configuration about Distro changes could not take effect.[#8161] Fix console can't use relative path problem.[#8163] Fix multi-instance share the same local snapshot.[#8196] Fix subscriber api without count when the query number is more than subscriber count.
## Dependency
[#7758] Update module nacos-consistency protobuf-maven-plugin version to 0.6.1.[#7886] Enhance package scan logic and remove org.reflections dependency.
## Tests
[#4981] Add much unit test.[#8009] Fix NPE of unit test.

外掛化

支援外掛化是2.1.0版本的主要改動之一。

Nacos通過 SPI 的方式,允許使用者和開發者實現自己的對應功能外掛使用;目前Nacos已經支援鑑權和加解密的外掛化能力。

鑑權

自從Nacos 1.2 版本加入鑑權功能後,社群對鑑權功能的討論一直持續。原因是Nacos目前的鑑權系統設計為防止錯用及使用者隔離。但社群中對鑑權能力的要求不侷限於此,為了滿足不同的使用者對鑑權程度的不同要求。Nacos社群希望設計一套用於鑑權的API,並將其注入到網路請求的流程中。

Nacos目前的鑑權實現也已經重構成預設的鑑權外掛,社群所貢獻的LADP也已改造完成,使用方式和以前一致;如果需要開發自定義的鑑權外掛,可以參考文件鑑權外掛實現。

加解密

在Nacos社群中,許多使用者關注配置中某些敏感資訊的安全性問題。除了通過鑑權,社群也希望能對配置內容中的敏感資訊進行加密。由於使用者和開發者所使用或對接的演算法和加解密系統可能不同,因此Nacos社群設計了一套用於加解密的API,並將其注入到釋出和查詢配置的工作流程中。更多加解密外掛的細節可以參考文件配置加密外掛。

預設關閉相容1.X服務端升級

預設關閉支援服務端從 1.X 版本升級的能力是Nacos2.1.0版本的另一個重要改動。在2.0.X版本中,資料結構進行了一些重新設計,導致和1.X的資料無法直接相容,為了方便社群使用者從1.X平滑升級到Nacos2.0版本,Nacos2.0版本除了相容1.X的openAPI外,還新增了雙寫資料等邏輯;

但這部分邏輯對系統資源有較大的損耗,並且由於機制較為複雜,導致部分直接使用2.0版本的使用者可能會遇到一些版本切換的疑問。因此在Nacos2.1版本中,我們預設關閉了相容1.X服務端平滑升級能功能,關閉該功能後直接部署2.1版本將不會再從1.X模式進行檢測和升級,而是直接執行在2.X的資料模式下,同時也支援2.0版本直接升級2.1版本。

若是希望從Nacos1.X直接升級到Nacos2.1.0版本,則需要在application.properties檔案中設定配置nacos.core.support.upgrade.from.1x=true,此時Nacos2.1版本會和Nacos2.0版本一樣,以1.X的資料模式啟動,並開始自動升級檢測,待全叢集資料一致,且準備完畢後,切換至2.0資料模式,更多升級相關的內容,請參考文件升級文件:

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

About Nacos

Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元資料及流量管理。

Nacos 幫助您更敏捷和容易地構建、交付和管理微服務平臺。Nacos 是構建以“服務”為中心的現代應用架構 (例如微服務正規化、雲原生正規化) 的服務基礎設施。